《LibGDX游戏开发指南》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(印)Suryakumar Balakrishnan Nair,(德)Andreas Oehlke著
  • 出 版 社:武汉:华中科技大学出版社
  • 出版年份:2017
  • ISBN:9787568023283
  • 页数:338 页
图书介绍:本书通过一个难度恰当的实例项目(Canyon Bunny)详细的讲解了LibGDX游戏框架各个方面,如跨平台开发、LibGDX应用的生命周期与接口、粒子系统、演员与舞台、音频处理、碰撞检测、Box2D、动画、Bullet物理,等等。第一章LibGDX简介及第二章项目创建,作者详细的介绍了LibGDX的环境搭建及项目创建过程。从第三章配置游戏项目开始直到第十二章动画,每小节作者都有目的的讲解一个新知识、新特性,并将其添加到Canyon Bunny游戏中,这样在学习的过程中既不枯燥又能提高读者的阅读兴趣。最后一章作者简要的介绍了LibGDX新加入的3D功能。

第1章 LibGDX简介与项目创建 1

1.1 关于LibGDX 2

1.2 LibGDX 1.2.0的新特性 2

1.2.1 Graphics模块 2

1.2.2 Audio模块 3

1.2.3 Input模块 4

1.2.4 文件I/O和存储模块 4

1.2.5 数学与物理 4

1.2.6 实用模块 4

1.2.7 工具 5

1.3 进入社区 5

1.4 LiGDX的安装与配置 5

1.4.1 安装JDK 6

1.4.2 安装Eclipse集成开发环境 9

1.4.3 下载LibGDX 10

1.4.4 安装Android SDK 10

1.4.5 运行Eclipse IDE并安装插件 18

1.5 创建第一个LibGDX应用 23

1.5.1 使用旧版工具创建项目 24

1.5.2 使用新版工具创建基于Gradle构建的项目 32

1.6 gdx-setup与gdx-setup-ui 36

1.7 步入开发生涯 37

1.8 成功的关键在于计划 39

1.9 第一个游戏——Canyon Bunny 39

实现游戏行为简介 40

1.10 总结 41

第2章 跨平台开发——一次构建,多平台部署 42

2.1 demo应用——它们是如何在一起工作的 42

2.2 LibGDX后端 45

2.2.1 轻量级的Java游戏库 45

2.2.2 Android 46

2.2.3 WebGL 46

2.2.4 RoboVM(iOS后端) 46

2.3 LibGDX核心模块 47

2.3.1 应用模块 47

2.3.2 图形模块 50

2.3.3 音频模块 50

2.3.4 输入模块 51

2.3.5 文件模块 52

2.3.6 网络模块 52

2.4 LibGDX的应用生命周期和对应接口 52

2.5 启动类 54

2.5.1 在桌面平台运行demo应用 54

2.5.2 在Android平台运行demo应用 56

2.5.3 在支持WebGL的浏览器上运行demo应用 60

2.5.4 在iOS设备上运行demo应用 64

2.6 demo应用代码解析 68

2.6.1 主类代码 69

2.6.2 调试器和代码热交换 73

2.7 总结 77

第3章 配置游戏 78

3.1 创建Canyon Bunny项目 78

3.2 使用类图分析Canyon Bunny游戏 80

3.3 基础部分 82

3.3.1 实现Constants类 82

3.3.2 实现CanyonBunnyMain类 83

3.3.3 实现WorldController类 83

3.3.4 实现WorldRenderer类 84

3.4 组织在一起 85

3.4.1 构建游戏循环 85

3.4.2 添加测试精灵 88

3.4.3 添加调试控制 92

3.4.4 添加CameraHelper类 95

3.4.5 添加相机调试控制 96

3.5 总结 99

第4章 资源打包 100

4.1 替换Android应用图标 100

4.2 替换iOS应用图标 102

4.3 创建纹理集 103

4.4 资源的加载与跟踪 108

4.5 组织资源 108

4.6 测试资源 114

4.7 处理关卡数据 117

4.8 总结 118

第5章 创建场景 119

5.1 创建游戏对象 120

5.1.1 rock对象 121

5.1.2 mountains对象 123

5.1.3 water overlay对象 125

5.1.4 clouds对象 126

5.2 实现关卡加载器 128

5.3 组建游戏世界 132

5.4 实现游戏GUI 135

5.4.1 分数GUI 138

5.4.2 生命数GUI 139

5.4.3 GUIFPS计数器 139

5.4.4 渲染游戏GUI 140

5.5 总结 140

第6章 添加演员 141

6.1 实现游戏的演员对象 141

6.1.1 创建gold coin对象 143

6.1.2 创建feather对象 144

6.1.3 创建bunny head对象 145

6.1.4 更新rock对象 152

6.2 完成关卡加载器 152

6.3 添加游戏逻辑 154

6.3.1 添加碰撞检测系统 154

6.3.2 失去生命、结束游戏以及限制相机的移动范围 160

6.3.3 添加“GAME OVER”文本和feather图标GUI 161

6.4 总结 163

第7章 菜单和选项 165

7.1 多屏管理 165

7.2 探索Scene2D UI、TableLayout和skins 171

7.3 使用场景图创建菜单UI 172

7.4 创建菜单屏幕 175

7.4.1 添加background层 179

7.4.2 添加对象层 179

7.4.3 添加Logo层 180

7.4.4 添加控制层 180

7.4.5 添加Options窗口层 181

7.5 创建Options窗口 185

使用游戏配置 190

7.6 小结 192

第8章 特效 193

8.1 使用粒子系统创建复杂特效 193

8.2 创建灰尘粒子特效 198

8.3 移动云朵 200

8.4 利用线性插值(Lerp)平滑运动 202

模拟石块在水面漂浮 203

8.5 山丘滚动效果 204

8.6 增强游戏GUI 205

8.6.1 失去生命事件 206

8.6.2 分数递增事件 207

8.7 总结 209

第9章 屏幕切换 210

9.1 屏幕切换技术 210

9.1.1 实现切换效果 217

9.1.2 关于插值算法的研究 217

9.1.3 创建fade切换效果 218

9.1.4 创建slide切换效果 220

9.1.5 创建slice切换效果 223

9.2 总结 225

第10章 音效管理 226

10.1 播放音乐和音效 226

10.1.1 Sound接口 227

10.1.2 Music接口 228

10.2 直接访问音频设备 228

10.2.1 AudioDevice接口 229

10.2.2 AudioRecorder接口 229

10.3 使用声音发生器 230

10.3.1 sfxr声音发生器 230

10.3.2 cfxr声音发生器 231

10.3.3 bfxr声音发生器 231

10.4 为Canyon Bunny游戏添加背景音乐和声音特效 232

10.5 总结 239

第11章 高级技术 240

11.1 使用Box2D模拟物理 240

11.1.1 Box2D的基础概念 241

11.1.2 Physics Body Editor 243

11.1.3 为项目添加Box2D 243

11.1.4 为Canyon Bunny创建“rain carrots” 246

11.1.5 实现rain carrots 251

11.2 在LibGDX中使用着色器 260

11.2.1 创建单色过滤着色程序 261

11.2.2 为Canyon Bunny游戏添加着色程序 262

11.3 添加可选输入 265

11.4 总结 268

第12章 动画 269

12.1 通过动作操作演员 269

12.1.1 操作演员对象的动作类 270

12.1.2 控制时间和顺序的动作 271

12.2 菜单屏幕动画 271

12.2.1 gold coins动画和bunny head动画 272

12.2.2 为菜单按钮和选项窗口添加动画 273

12.3 利用序列图片创建动画 275

12.3.1 打包动画资源 276

12.3.2 选择动画的播放模式 277

12.4 为游戏屏幕添加帧动画 277

12.4.1 定义和准备新的动画 278

12.4.2 为gold coin对象添加动画 280

12.4.3 为bunny head对象添加动画 281

12.5 总结 285

第13章 3D基础 286

13.1 光源 286

13.2 环境和材质 287

13.3 LibGDX 3D基础 287

13.3.1 创建项目 287

13.3.2 相机 290

13.3.3 Model和ModelInstance类 291

13.3.4 ModelBatch类 291

13.3.5 Environment类 291

13.4 加载模型 292

模型格式和FBX转换器 294

13.5 3D frustum culling技术 295

13.6 ray picking技术 299

13.7 总结 301

第14章 Bullet物理引擎 302

14.1 关于Bullet 302

14.2 Bullet基本概念 303

14.2.1 刚体 303

14.2.2 碰撞形状 304

14.2.3 MotionStates 304

14.2.4 物理模拟 305

14.3 LibGDX Bullet 305

14.3.1 创建项目 305

14.3.2 创建基础3D场景 306

14.3.3 初始化Bullet 310

14.3.4 创建动态世界 310

14.3.5 自定义MotionState类 311

14.3.6 ContactListener类 312

14.4 添加刚体 312

14.5 步进世界 313

14.5.1 Bullet光线投射技术 314

14.5.2 测试游戏 314

14.6 添加阴影 325

14.7 总结 327

索引 329