大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;)
上一篇我们初步看了一下mainscene类的初始化方法里都做了神马事,其中随机化地图是在initgamedatafromgd方法里做的,我们就来深入看看这个方法.
该方法是一个比较长的方法,里面又调用了若干其他方法,我把其中主要的代码在下面列出来:
该方法里面比较”杂”,它主要做了如下这些事:
将ios设备中存储的数据读到内存中,这样每次玩的记录和内容都可以保存和再加载,这是在loadgamedata方法中完成的,后面会介绍
根据游戏数据设置hud层中对应的标签,hud是我们游戏中的仪表盘:

其中包括了剩余的生命数,炸弹数,当前累积的分数,当前炸弹的威力大小,游戏剩余的时间等等标签.在实际游戏中显示如下:
最左边那列竖条实际是显示在屏幕可见范围之外,需要的时候在弹进来,这里先不用管吧.
根据游戏数据设置游戏主角的属性:是否可以穿墙和穿炸弹,是否处于高速移动状态
更新hud中的状态标签,调用的是updatestatelabel方法,后面会提及
接下来初始化可布局的所有瓦块坐标,调用的方法是initnowalltiles方法
然后调用randomcreatemap来创建随机地图,别急马上就会讲到
初始化所有可达的瓦块,调用的方法为initwalkabletiles方法
初始化firesprite敌人类中的所有类名称
根据关卡中的数据”产出”敌人,调用的是spawnfiresprites3方法