(NO.00005)iOS實現炸彈人遊戲(四):遊戲資料初始化介紹(一)

來源:互聯網
上載者:User

(NO.00005)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方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.