天天看點

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

大熊貓豬·侯佩原創或翻譯作品.歡迎轉載,轉載請注明出處. 如果覺得寫的不好請告訴我,如果覺得不錯請多多支援點贊.謝謝! hopy ;)

上一篇我們初步看了一下mainscene類的初始化方法裡都做了神馬事,其中随機化地圖是在initgamedatafromgd方法裡做的,我們就來深入看看這個方法.

該方法是一個比較長的方法,裡面又調用了若幹其他方法,我把其中主要的代碼在下面列出來:

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

将ios裝置中存儲的資料讀到記憶體中,這樣每次玩的記錄和内容都可以儲存和再加載,這是在loadgamedata方法中完成的,後面會介紹

根據遊戲資料設定hud層中對應的标簽,hud是我們遊戲中的儀表盤:

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

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

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

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

根據遊戲資料設定遊戲主角的屬性:是否可以穿牆和穿炸彈,是否處于高速移動狀态

更新hud中的狀态标簽,調用的是updatestatelabel方法,後面會提及

接下來初始化可布局的所有瓦塊坐标,調用的方法是initnowalltiles方法

然後調用randomcreatemap來建立随機地圖,别急馬上就會講到

初始化所有可達的瓦塊,調用的方法為initwalkabletiles方法

初始化firesprite敵人類中的所有類名稱

根據關卡中的資料”産出”敵人,調用的是spawnfiresprites3方法

繼續閱讀