第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 安装JDK
1.4.2 安装Eclipse集成开发环境
1.4.3 下载LibGDX
1.4.4 安装AndroidSDK
1.4.5 运行EclipseIDE并安装插件
1.5 创建个LibGDX应用
1.5.1 使用旧版工具创建项目
1.5.2 使用新版工具创建基于Gradle构建的项目
1.6 gdx-setup与gdx-setup-ui
1.7 步入开发生涯
1.8 成功的关键在于计划
1.9 个游戏——Canyon 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 创建Canyon Bunny项目
3.2 使用类图分析Canyon Bunny游戏
3.3 基础部分
3.3.1 实现Constants类
3.3.2 实现CanyonBunnyMain类
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 为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创建“rain carrots”
11.1.5 实现rain carrots
11.2 在LibGDX中使用着色器
11.2.1 创建单色过滤着色程序
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 利用序列图片创建动画
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.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 创建项目
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 总结
索引