第1章 LibGDX簡介與項目創建
1.1 關於LibGDX
1.2 LibGDX 1.2.0的新特性
1.2.1 Graphics模塊
1.2.2 Audio模塊
1.2.3 Input模塊
1.2.4 文件I/O和存儲模塊
1.2.5 數學與物理
1.2.6 實用模塊
1.2.7 工具
1.3 進入社區
1.4 LibGDX的安裝與配置
1.4.1 安裝K
1.4.2 安裝Eclipse集成開發環境
1.4.3 下載LibGDX
1.4.4 安裝Android SDK
1.4.5 運行Eclipse IDE並安裝插件
1.5 創建個LibGDX應用
1.5.1 使用舊版工具創建項目
1.5.2 使用新版工具創建基於Gradle構建的項目
1.6 gdx—setup與gdx—setup—ui
1.7 步入開發生涯
1.8 成功的關鍵在於計划
1.9 個游戲——Canyo Bunny
實現游戲行為簡介
1.10 總結
第2章 跨平台開發——一次構建,多平台部署
2.1 demo應用——它們是如何在一起工作的
2.2 LibGDX后端
2.2.1 輕量級的Java游戲庫
2.2.2 Android
2.2.3 WebGL
2.2.4 Robo VM(iOS后端)
2.3 LibGDX核心模塊
2.3.1 應用模塊
2.3.2 圖形模塊
2.3.3 音頻模塊
2.3.4 輸入模塊
2.3.5 文件模塊
2.3.6 網絡模塊
2.4 LibGDX的應用生命周期和對應接口
2.5 啟動類
2.5.1 在桌面平台運行demo應用
2.5.2 在Android平台運行demo應用
2.5.3 在支持WebGL的瀏覽器上運行demo應用
2.5.4 在iOS設備上運行demo應用
2.6 demo應用代碼解析
2.6.1 主類代碼
2.6.2 調試器和代碼熱交換
2.7 總結
第3章 配置游戲
3.1 創建Canyo Bunny項目
3.2 使用類圖分析Canyo Bunny游戲
3.3 基礎部分
3.3.1 實現Constants類
3.3.2 實現Canyon Bunny Main類
3.3.3 實現WorldController類
3.3.4 實現WorldRenderer類
3.4 組織在一起
3.4.1 構建游戲循環
3.4.2 添加測試精靈
3.4.3 添加調試控制
3.4.4 添加CameraHelper類
3.4.5 添加相機調試控制
3.5 總結
第4章 資源打包
4.1 替換Android應用圖標
4.2 替換iOS應用圖標
4.3 創建紋理集
4.4 資源的加載與跟蹤
4.5 組織資源
4.6 測試資源
4.7 處理關卡數據
4.8 總結
第5章 創建場景
5.1 創建游戲對象
5.1.1 rock對象
5.1.2 mountains對象
5.1.3 water overlay對象
5.1.4 clouds對象
5.2 實現關卡加載器
5.3 組建游戲世界
5.4 實現游戲GUI
5.4.1 分數GUI
5.4.2 生命數GUI
5.4.3 GUI FPS計數器
5.4.4 渲染游戲GUI
5.5 總結
第6章 添加演員
6.1 實現游戲的演員對象
6.1.1 創建gold coin對象
6.1.2 創建feather對象
6.1.3 創建bunnyhead對象
6.1.4 更新rock對象
6.2 完成關卡加載器
6.3 添加游戲邏輯
6.3.1 添加碰撞檢測系統
6.3.2 失去生命、結束游戲以及限制相機的移動范圍
6.3.3 添加「GAME OVER」文本和feather圖標GUI
6.4 總結
第7章 菜單和選項
7.1 多屏管理
7.2 探索Scene2D UI、TableLayout和skins
7.3 使用場景圖創建菜單UI
7.4 創建菜單屏幕
7.4.1 添加background層
7.4.2 添加對象層
7.4.3 添加Logo層
7.4.4 添加控制層
7.4.5 添加Options窗口層
7.5 創建Options窗口
使用游戲配置
7.6 小結
第8章 特效
8.1 使用粒子系統創建復雜特效
8.2 創建灰塵粒子特效
8.3 移動雲朵
8.4 利用線性插值(Lerp)平滑運動
模擬石塊在水面漂浮
8.5 山丘滾動效果
8.6 增強游戲GUI
8.6.1 失去生命事件
8.6.2 分數遞增事件
8.7 總結
第9章 屏幕切換
9.1 屏幕切換技術
9.1.1 實現切換效果
9.1.2 關於插值算法的研究
9.1.3 創建fade切換效果
9.1.4 創建slide切換效果
9.1.5 創建slice切換效果
9.2 總結
第10章 音效管理
10.1 播放音樂和音效
10.1.1 Sound接口
10.1.2 Music接口
10.2 直接訪問音頻設備
10.2.1 AudioDevice接口
10.2.2 AudioRecorder接口
10.3 使用聲音發生器
10.3.1 sfxr聲音發生器
10.3.2 cfxr聲音發生器
10.3.3 bfxr聲音發生器
10.4 為CanyoBunny游戲添加背景音樂和聲音特效
10.5 總結
第11章 高級技術
11.1 使用Box2D模擬物理
11.1.1 Box2D的基礎概念
11.1.2 Physics Body Editor
11.1.3 為項目添加Box2D
11.1.4 為CanyoBunny創建「raicarrots」
11.1.5 實現raicarrots
11.2 在LibGDX中使用着色器
11.2.1 創建單色過濾着色程序
11.2.2 為CanyoBunny游戲添加着色程序
11.3 添加可選輸入
11.4 總結
第12章 動畫
12.1 通過動作操作演員
12.1.1 操作演員對象的動作類
12.1.2 控制時間和順序的動作
12.2 菜單屏幕動畫
12.2.1 gold coins動畫和bunny head動畫
12.2.2 為菜單按鈕和選項窗口添加動畫
12.3 利用序列圖片創建動畫
12.3.1 打包動畫資源
12.3.2 選擇動畫的播放模式
12.4 為游戲屏幕添加幀動畫
12.4.1 定義和准備新的動畫
12.4.2 為gold coin對象添加動畫
12.4.3 為bunny head對象添加動畫
12.5 總結
第13章 3D基礎
13.1 光源
13.2 環境和材質
13.3 LibGDX 3D基礎
13.3.1 創建項目
13.3.2 相機
13.3.3 Mdel和Modellnstance類
13.3.4 ModelBatch類
13.3.5 Environment類
13.4 加載模型
模型格式和FBX轉換器
13.53D frustum culling技術
13.6 ray picking技術
13.7 總結
第14章 Bullet物理引擎
14.1 關於Bullet
14.2 Bullet基本概念
14.2.1 剛體
14.2.2 碰撞形狀
14.2.3 MotionStates
14.2.4 物理模擬
14.3 LibGDX Bullet
14.3.1 創建項目
14.3.2 創建基礎3D場景
14.3.3 初始化Bullet
14.3.4 創建動態世界
14.3.5 自定義MotionState類
14.3.6 ContactListener類
14.4 添加剛體
14.5 步進世界
14.5.1 Bullet光線投射技術
14.5.2 測試游戲
14.6 添加陰影
14.7 總結
索引