(NO.00005)iOS实现炸弹人游戏(四):游戏数据的初始化(一)

简介:

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;)


上一篇我们初步看了一下MainScene类的初始化方法里都做了神马事,其中随机化地图是在initGameDataFromGD方法里做的,我们就来深入看看这个方法.

该方法是一个比较长的方法,里面又调用了若干其他方法,我把其中主要的代码在下面列出来:

//用游戏数据初始化当前关卡的数据
-(void)initGameDataFromGD{
    [_gd loadGameData];

    //省略初始化HUD层的标签内容的一大堆代码

    _player.canAcrossBrick = _gd.canPlayerAcrossBrick;
    _player.canAcrossBomb = _gd.canPlayerAcorssBomb;

    _isPlayerSpeedUp = _gd.isPlayerSpeedUp;
    if (_isPlayerSpeedUp) {
        _player.speedPerStep = 0.4;
    }

    [self updateStateLabel];

    _totalSec = _gd.curLevelLeftTime;
    [_hudLayer updateTimeLabel:_totalSec];

    [self initNoWallTiles];
    //随机化地图方法
    [self randomCreateMap];
    [self initWalkableTiles];

    //初始化所有FS类的名称
    [FireSprite initClassNames];
    [self spawnFireSprites3];
}

该方法里面比较”杂”,它主要做了如下这些事:

  1. 将iOS设备中存储的数据读到内存中,这样每次玩的记录和内容都可以保存和再加载,这是在loadGameData方法中完成的,后面会介绍
  2. 根据游戏数据设置HUD层中对应的标签,HUD是我们游戏中的仪表盘:

这里写图片描述

其中包括了剩余的生命数,炸弹数,当前累积的分数,当前炸弹的威力大小,游戏剩余的时间等等标签.在实际游戏中显示如下:

这里写图片描述

最左边那列竖条实际是显示在屏幕可见范围之外,需要的时候在弹进来,这里先不用管吧.

  1. 根据游戏数据设置游戏主角的属性:是否可以穿墙和穿炸弹,是否处于高速移动状态
  2. 更新HUD中的状态标签,调用的是updateStateLabel方法,后面会提及
  3. 接下来初始化可布局的所有瓦块坐标,调用的方法是initNoWallTiles方法
  4. 然后调用randomCreateMap来创建随机地图,别急马上就会讲到
  5. 初始化所有可达的瓦块,调用的方法为initWalkableTiles方法
  6. 初始化FireSprite敌人类中的所有类名称
  7. 根据关卡中的数据”产出”敌人,调用的是spawnFireSprites3方法
相关文章
|
6月前
|
JSON JavaScript 安全
iOS应用程序数据保护:如何保护iOS应用程序中的图片、资源和敏感数据
iOS应用程序数据保护:如何保护iOS应用程序中的图片、资源和敏感数据
59 1
|
6月前
|
存储 iOS开发 开发者
使用克魔助手进行iOS数据抓包和HTTP抓包的方法详解
使用克魔助手进行iOS数据抓包和HTTP抓包的方法详解
100 0
|
3月前
|
iOS开发 开发者
iOS平台RTMP|RTSP播放器如何实时回调YUV数据
我们在做RTMP、RTSP播放器的时候,有开发者需要自己处理拉取到的YUV数据,做二次分析之用,为此,我们做了以下的设计:InitPlayer之后,再调用SmartPlayerStart()接口之前,设置yuv数据回调即可。
|
6月前
|
Java iOS开发
iOS的数据序列化(又称持久化)的两类使用方式
iOS的数据序列化(又称持久化)的两类使用方式
64 0
|
6月前
|
移动开发 小程序 API
uniapp通过蓝牙传输数据 (ios)
uniapp通过蓝牙传输数据 (ios)
316 1
|
6月前
|
Web App开发 小程序 Android开发
mPaaS小程序问题之接入iOS后阿里百川初始化报错如何解决
mPaaS小程序是阿里巴巴移动平台服务(mPaaS)推出的一种轻量级应用解决方案,旨在帮助开发者快速构建跨平台的小程序应用;本合集将聚焦mPaaS小程序的开发流程、技术架构和最佳实践,以及如何解决开发中遇到的问题,从而助力开发者高效打造和维护小程序应用。
116 1
|
6月前
|
JSON JavaScript 安全
iOS 应用程序数据保护:如何保护 iOS 应用程序中的图片、资源和敏感数据
iOS 应用程序数据保护:如何保护 iOS 应用程序中的图片、资源和敏感数据
|
6月前
|
Web App开发 网络安全 Android开发
🚀2023最新版克魔助手抓包教程(9) - 克魔助手 IOS 数据抓包
在移动应用程序的开发中,了解应用程序的网络通信是至关重要的。数据抓包是一种很好的方法,可以让我们分析应用程序的网络请求和响应,了解应用程序的网络操作情况。克魔助手是一款非常强大的抓包工具,可以帮助我们在 Android 和 iOS 平台上进行数据抓包。本篇博客将介绍如何使用克魔助手在 iOS 平台上进行数据抓包。