天天看點

《Unity 5.x遊戲開發實戰》一2.3 對金币進行計數

本節書摘來異步社群《unity 5.x遊戲開發實戰》一書中的第2章,第2.3節,作者: alan thorn 譯者: 李華峰 責編: 胡俊英,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

如果整個場景裡隻有一個金币,那麼這個金币采集遊戲就有些名不符實了。本遊戲的核心設計思路就是在一個關卡中應該包含很多個金币,玩家應該在系統計時結束前收集完這些金币。現在,如果想要知道玩家是否将所有的金币都收集齊了,首先得先知道這個場景中總共有多少個金币。畢竟如果不知道金币的總量,也就無法知道是否已經将所有的金币收集全了。是以,第一個任務就是通過coin類來輕松地知道任意時刻金币的總數。下面給出實作這一功能的coin類,具體的如代碼示例2.3所示。

下面就代碼示例2.3進行以下幾點總結。

coin類中有一個靜态的成員變量——coincount。這個變量是靜态的,可以被這個類的所有執行個體所共享。該變量中記錄了場景中金币的總數,類中的每個執行個體都可以通路該變量。

每當場景中的一個金币遊戲對象被建立時,就會自動調用start()函數。在場景啟動時調用start函數就可以設定遊戲初始的金币。每當初始化一個執行個體,這個函數就會将其中的變量coincount的值加1,進而完成對所有金币的計數。

每當一個遊戲對象被銷毀時,就會自動調用ondestroy()函數。每當一個金币被銷毀之後,這個函數就會将其中的變量coincount的值減1,進而将金币總量減少1個。

代碼示例2.3中包含了一個變量coincount,利用這個變量可以知道金币的總量。查詢這個值就可以輕松地獲得目前金币的總量。現在已經完成整個金币采集功能工作的第一步了。

繼續閱讀