編輯:Android游戲開發
前面幾節主要講了libgdx框架一些基本類的使用方法,還分享了一部分源碼,要進行實際開發只掌握幾個類是不夠的,還需要對libgdx框架有宏觀的、整體的了解。
1、應用的生命周期
游戲應該高效和穩定,特別是對於android平台。目前的開發都是面向手機和平板。如果有效的管理資源,如何高效的運行都是非常重要的。
試想一個制作優美,可玩性高的游戲運行於你的android手機上卻10秒鐘崩潰一次,運行時卡的如同在看漫畫,這樣的游戲是有合格的嗎?
Android一般不用管resize(),我們在create中實例化所需的對象,在render()中進行繪制。pause()時可以保持當前的靈活數據。dispose()報銷對象。而在resume()中根據保持的數據對游戲進行還原。
其實說不負責一點,dispose()你可以不管,android系統會自動回收一些,用戶對於退出後的短暫停滯也是有接受能力的。
create()你也可以水一些,大不了進入游戲或者初始化相關場景時速度慢一些罷了。
但是pause()和resume()你必須認真處理。電話是最常見的意外性中斷,不會有用戶偏愛一個電話就可以讓記錄或者進度消失的游戲的。
2、游戲構架
對於是否該稱架構我一直有所疑惑,你可以理解為游戲的組成。一個游戲不論大小,不論復雜程度都應該具有的大致框架。
這裡稍微解釋一下。
輸入只是用戶的響應,可以是點擊(Touch)或者點擊(Click),拖拽(Drag)等。
輸出一般是圖片和聲音或者影像,當時也有文件或者其他數據(比如網絡的存儲)。
而在輸入中的文件一般為圖片和聲音,邏輯由數學邏輯和物理邏輯構成。
而libgdx對於物理上處理是Box2D的封裝,可以滿足一般需求了。對於數學的封裝了一些常見的結構和少量算式,不過可以基於此開發自己需要的算法。
libgdx對於圖像和聲音等文件的處理比較好,可以直接使用。
3、游戲容器
最原始的容器自然是Application了。
然後是Game,它管理著若干個Screen,比如游戲場景,積分場景,幫助場景,高分榜場景。而場景之下有著若干舞台,舞台之中是演員。