《LibGDX游戲開發(fā)指南(第二版)》以實踐項目為基礎,從游戲開發(fā)的基本技能切入,完整并詳細地講解了LibGDX的各大模塊與游戲開發(fā)的常見技術及其解決方案,國內(nèi)許多讀者和開發(fā)者一致認為《LibGDX游戲開發(fā)指南(第二版)》是學習LibGDX游戲開發(fā)的經(jīng)典之作。
《LibGDX游戲開發(fā)指南(第二版)》適合具有一定Java基礎的開發(fā)者,但并不需要其具有很高深的移動開發(fā)經(jīng)驗,即使不了解移動開發(fā),也能閱讀完《LibGDX游戲開發(fā)指南(第二版)》并學會使用LibGDX框架開發(fā)跨平臺游戲。
第1章 LibGDX簡介與項目創(chuàng)建
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 數(shù)學與物理
1.2.6 實用模塊
1.2.7 工具
1.3 進入社區(qū)
1.4 LibGDX的安裝與配置
1.4.1 安裝JDK
1.4.2 安裝Eclipse集成開發(fā)環(huán)境
1.4.3 下載LibGDX
1.4.4 安裝AndroidSDK
1.4.5 運行EclipseIDE并安裝插件
1.5 創(chuàng)建第一個LibGDX應用
1.5.1 使用舊版工具創(chuàng)建項目
1.5.2 使用新版工具創(chuàng)建基于Gradle構建的項目
1.6 gdx-setup與gdx-setup-ui
1.7 步入開發(fā)生涯
1.8 成功的關鍵在于計劃
1.9 第一個游戲——Canyon Bunny
實現(xiàn)游戲行為簡介
1.10 總結
第2章 跨平臺開發(fā)一一次構建,多平臺部署
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 網(wǎng)絡模塊
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 調(diào)試器和代碼熱交換
2.7 總結
第3章 配置游戲
3.1 創(chuàng)建Canyon Bunny項目
3.2 使用類圖分析Canyon Bunny游戲
3.3 基礎部分
3.3.1 實現(xiàn)Constants類
3.3.2 實現(xiàn)CanyonBunnyMain類
3.3.3 實現(xiàn)WorldController類
3.3.4 實現(xiàn)WorldRenderer類
3.4 組織在一起
3.4.1 構建游戲循環(huán)
3.4.2 添加測試精靈
3.4.3 添加調(diào)試控制
3.4.4 添加CameraHelper類
3.4.5 添加相機調(diào)試控制
3.5 總結
第4章 資源打包
4.1 替換Android應用圖標
4.2 替換iOS應用圖標
4.3 創(chuàng)建紋理集
4.4 資源的加載與跟蹤
4.5 組織資源
4.6 測試資源
4.7 處理關卡數(shù)據(jù)
4.8 總結
第5章 創(chuàng)建場景
5.1 創(chuàng)建游戲對象
5.1.1 rock對象
5.1.2 mountains對象
5.1.3 water overlay對象
5.1.4 clouds對象
5.2 實現(xiàn)關卡加載器
5.3 組建游戲世界
5.4 實現(xiàn)游戲GUI
5.4.1 分數(shù)GUI
5.4.2 生命數(shù)GuI
5.4.3 GUI FPS計數(shù)器
5.4.4 渲染游戲GUI
5.5 總結
第6章 添加演員
6.1 實現(xiàn)游戲的演員對象
6.1.1 創(chuàng)建gold coin對象
6.1.2 創(chuàng)建feather對象
6.1.3 創(chuàng)建bunnyhead對象
6.1.4 更新rock對象
6.2 完成關卡加載器
6.3 添加游戲邏輯
6.3.1 添加碰撞檢測系統(tǒng)
6.3.2 失去生命、結束游戲以及限制相機的移動范圍
6.3.3 添加“GAME OVER”文本和feather圖標GUI
6.4 總結
第7章 菜單和選項
7.1 多屏管理
7.2 探索Scene2D UI、TableLayout和skins
7.3 使用場景圖創(chuàng)建菜單UI
7.4 創(chuàng)建菜單屏幕
7.4.1 添加background層
7.4.2 添加對象層
7.4.3 添加Logo層
7.4.4 添加控制層
7.4.5 添加Options窗口層
7.5 創(chuàng)建Options窗口
使用游戲配置
7.6 小結
第8章 特效
8.1 使用粒子系統(tǒng)創(chuàng)建復雜特效
8.2 創(chuàng)建灰塵粒子特效
8.3 移動云朵
8.4 利用線性插值(Lerp)平滑運動
模擬石塊在水面漂浮
8.5 山丘滾動效果
8.6 增強游戲GUI
8.6.1 失去生命事件
8.6.2 分數(shù)遞增事件
8.7 總結
第9章 屏幕切換
9.1 屏幕切換技術
9.1.1 實現(xiàn)切換效果
9.1.2 關于插值算法的研究
9.1.3 創(chuàng)建fade切換效果
9.1.4 創(chuàng)建slide切換效果
9.1.5 創(chuàng)建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 使用聲音發(fā)生器
10.3.1 sfxr聲音發(fā)生器
10.3.2 cfxr聲音發(fā)生器
10.3.3 bfxr聲音發(fā)生器
10.4 為Canyon Bunny游戲添加背景音樂和聲音特效
10.5 總結
第11章 高級技術
11.1 使用Box2D模擬物理
11.1.1 Box2D的基礎概念
11.1.2 Physics Body Editor
11.1.3 為項目添加Box2D
11.1.4 為Canyon Bunny創(chuàng)建“rain carrots”
11.1.5 實現(xiàn)rain carrots
11.2 在LibGDX中使用著色器
11.2.1 創(chuàng)建單色過濾著色程序
11.2.2 為Canyon Bunny游戲添加著色程序
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 利用序列圖片創(chuàng)建動畫
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 環(huán)境和材質(zhì)
13.3 LibGDX 3D基礎
13.3.1 創(chuàng)建項目
13.3.2 相機
13.3.3 Mdel和Modellnstance類
13.3.4 ModelBatch類
13.3.5 Environment類
13.4 加載模型
模型格式和FBX轉換器
13.5 3D 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 創(chuàng)建項目
14.3.2 創(chuàng)建基礎3D場景
14.3.3 初始化Bullet
14.3.4 創(chuàng)建動態(tài)世界
14.3.5 自定義MotionState類
14.3.6 ContactListener類
14.4 添加剛體
14.5 步進世界
14.5.1 Bullet光線投射技術
14.5.2 測試游戲
14.6 添加陰影
14.7 總結
索引
查看全部↓