天天看點

《Android 3D 遊戲案例開發大全》——6.4節主要制類——TXZActivity類的開發

本節書摘來自異步社群《android 3d 遊戲案例開發大全》一書中的第6章,第6.4節主要制類——txzactivity類的開發,作者 吳亞峰 , 于複興 , 杜化美,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

6.4 主要制類——txzactivity類的開發

android 3d 遊戲案例開發大全

android程式中,activity是最重要的類之一。在本遊戲中,txzactivity繼承自activity類,為本遊戲的主要制類,本節将具體介紹txzactivity的開發,其具體步驟如下。

(1)主要制類代碼非常多,首先搭建主要制類的架構,以幫助讀者了解,主要制類架構代碼如下。

第13-18行是設定螢幕的顯示模式,設定為全屏、橫屏模式。第19-22行為根據裝置的具體參數擷取螢幕分辨率及寬高比,并記錄下來,使遊戲的界面符合設定的橫屏模式。

第30-38行是圖檔、物體的頂點位置及紋理坐标和遊戲音效的加載,初始化遊戲資源。第39行為進入歡迎界面。

(2)遊戲中部分界面的跳轉和資訊的顯示依靠消息傳遞機制。在activity中的消息接收者通過接收的消息編号執行相應的操作,來實作界面跳轉及資訊顯示的功能,其代碼如下。

第1-3行為初始化handler并重寫handlemessage方法,接收傳來的消息。第5-17行為根據收到的消息進行判斷,跳轉到不同的界面。

(3)由于本類的跳轉界面比較多,不可能對所用的界面跳轉進行一一介紹,是以,這裡隻介紹部分具有代表性的界面跳轉代碼的開發,其代碼如下。

第1-4行是傳回歡迎界面去的方法。第5-13行為傳回菜單界面的方法,在方法中主要是建立界面的對象,并調用setcontentview方法跳轉到菜單界面,同時根據是否播放背景音樂的标志位進行背景音樂的播放。

第14-21行是傳回遊戲界面的方法,在方法中主要是建立界面的對象,并調用setcontentview 方法跳轉到菜單界面,同時設定為可觸控。

(4)接下來開發onkeydown方法,該方法為繼承activity後重寫的方法,實作對手機按鍵的監聽,玩家單擊後做出相應的處理,其代碼如下。

第3-5行是判斷目前按下的鍵值,如果鍵值表示的是按下傳回鍵,則在本方法中處理,否則不在本方法中處理。

第7-35行表示的是若目前界面不為空,則根據目前的界面做出不同的操作,即傳回某個界面或顯示對話框、或退出遊戲。

(5)接下來為讀者介紹的是播放背景音樂與停止播放背景音樂方法的開發,其代碼如下。

這兩種方法的開發非常簡單,其實作的主要功能是對mediaplayer的控制,同時在停止播放背景音樂時要清空sharedpreferences對象sp中存儲的内容。

繼續閱讀