libgdx API之Gdx.XXX:無處不在

應用總體,渲染,輸入監聽,音頻,文件IO,網絡這五個東西在遊戲開發中經常使用,有的穿插於整個遊戲流程。libgdx也封裝出對應的類:Application,Graphics,Input,Audio,Files,Net。而且很方便地可以通過Gdx.xx獲取相應的單例。每個組件提供的功能如下:


Application:監聽應用生命週期,日誌打印,獲取剪貼板,內存打印,獲取設備類型、版本,獲取保存器,退出(exit()在android中退出遊戲所在的Activity,假如想關掉整個遊戲(進程),用java的system.exit(0)但在android中不建議使用。),主線程方法(postRunnable(--):在任何線程中都能調用,作用是在主線程中運行裏面的方法。在android中,要清楚遊戲的GLThread和android的MainThread關係,假如開發時出現線程有關的錯誤,不妨用這個方法),獲取其他組件單例。


Graphics:獲取渲染緩存格式,獲取幀間隔時間(取整或浮點)、幀id、幀頻率,設備分辨率,像素密度,設備屏幕大小,全屏支持,GL實例(設備不支持則返回null),渲染控制(停止渲染,步進渲染),垂直同步,是否支持擴展(boolean supportsExtension(String extension))。


Input:外圍設備是否支持(加速度,振動,觸屏等),振動控制,屏蔽返回鍵/菜單鍵,獲取事件觸發時間,輪詢(按鍵,鼠標,傳感器包括加速度和方位角),設備原生轉向(橫屏或豎屏),原生輸入框,軟鍵盤,鼠標指針捕獲/設置(PC第一人稱射擊有用),按鍵鍵值


Audio:提供很快捷的方法創建音頻製作器(AudioDevice,聲音文件由一系列採樣值組成,使用PCM編碼,可以寫入採樣值得到自己的音樂或從已有音樂中輸出採樣值),錄音器,音樂(Music)和音效(Sound),音樂採用流的形式讀取播放,音效則全部讀取在內存中。android中sound最好不要超過1M的大小。


Files:獲取不同存放位置的權限的文件句柄FileHandle。FileHandle其實和文件路徑差不多,不同的類型在設備上的體現不同。如local類型,在Android上是存放在private files directory而desktop則是系統根目錄。External類型在android中是SD卡根目錄,記得在AndroidMenifets中寫入權限。Files還提供檢查是否有此權限的方法isExternalStorageAvailable()。


NET:封裝Http請求和TCP server/client socket等網絡操作。很好用,一般獲取同步遊戲積分,休閒弱聯網遊戲等網絡交互這個接口足矣。


很多人忽略Gdx.xx這個全局變量,好好用這5個組件吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章