你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> (NO.00005)iOS實現炸彈人游戲(四):游戲數據初始化介紹(一)

(NO.00005)iOS實現炸彈人游戲(四):游戲數據初始化介紹(一)

編輯:IOS開發綜合

 

上一篇我們初步看了一下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];
}

該方法裡面比較”雜”,它主要做了如下這些事:

將iOS設備中存儲的數據讀到內存中,這樣每次玩的記錄和內容都可以保存和再加載,這是在loadGameData方法中完成的,後面會介紹 根據游戲數據設置HUD層中對應的標簽,HUD是我們游戲中的儀表盤:

這裡寫圖片描述

其中包括了剩余的生命數,炸彈數,當前累積的分數,當前炸彈的威力大小,游戲剩余的時間等等標簽.在實際游戲中顯示如下:

這裡寫圖片描述

最左邊那列豎條實際是顯示在屏幕可見范圍之外,需要的時候在彈進來,這裡先不用管吧.

根據游戲數據設置游戲主角的屬性:是否可以穿牆和穿炸彈,是否處於高速移動狀態 更新HUD中的狀態標簽,調用的是updateStateLabel方法,後面會提及 接下來初始化可布局的所有瓦塊坐標,調用的方法是initNoWallTiles方法 然後調用randomCreateMap來創建隨機地圖,別急馬上就會講到 初始化所有可達的瓦塊,調用的方法為initWalkableTiles方法 初始化FireSprite敵人類中的所有類名稱 根據關卡中的數據”產出”敵人,調用的是spawnFireSprites3方法
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved