正如前面FKBaseBoard类的代码中所看到的,当程序需要创建N个FKPiece对象时,程序会直接调用getPlayImages()函数去获取图片,该函数将会随机从项目包下取得N张图片。
为了让getPlayImages()函数从项目包下随机取得N张图片,程序的实现思路可分为如下几步。
① 使用NSBundle的方法获取项目包下所有以p_开头的图片(假设约定所有的图片都以p_开头),并将这些图片名添加到一个NSMutableArray集合中。
② 从第1步得到的NSMutableArray集合中随机“抽取”N/2个图片ID。
③ 将第2步得到的N/2个图片ID全部复制一份,这样就得到了N个图片ID,而且每个图片ID都可以找到与之配对的。
④ 将第3步得到的N个图片ID再次“随机打乱”,并根据图片ID加载相应的UIImage对象,最后把图片ID及对应的UIImage封装成FKPieceImage后返回。
下面是这些工具函数所在的C文件。
程序清单:codes/13/Link/Link/sources/util/FKImageUtil.h
——————本文节选自《疯狂ios讲义(上)》
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。