第1章 初识libGDX 1
1.1 什么是libGDX 1
1.2 libGDX的历史 2
1.3 libGDX的特点 2
1.3.1 强兼容性 2
1.3.2 高效性 3
1.3.3 架构的清晰性 3
1.4 开发工具 3
1.4.1 粒子编辑器(Particle Editor) 4
1.4.2 文字生成工具(Hiero Bitmap Font Generator) 4
1.4.3 图片合并工具(TexturePacker) 5
1.4.4 项目构建工具(GDX-Setup-UI) 5
1.5 libGDX的主要功能 6
1.6 libGDX的应用 7
1.7 学习资料 8
1.8 本章小结 9
第2章 环境搭建 10
2.1 Windows系统下的开发环境配置 10
2.1.1 JDK下载及安装 10
2.1.2 开发工具下载 13
2.1.3 Eclipse插件配置 21
2.1.4 开发库下载 25
2.1.5 Gradle开发库配置 28
2.2 Mac OS系统下的开发环境搭建 31
2.2.1 开发工具下载 31
2.2.2 Gradle开发库配置 32
2.3 Windows系统环境变量配置 35
2.3.1 Python环境变量配置 35
2.3.2 Gradle环境变量配置 37
2.3.3 安卓环境变量配置 39
2.4 Mac OS系统环境变量配置 40
2.4.1 Python环境变量配置 40
2.4.2 Gradle环境变量配置 41
2.4.3 安卓环境变量配置 42
2.5 本章小结 43
第3章 Hello,libGDX! 44
3.1 libGDX项目的创建、导入及运行 44
3.2 使用Gradle命令调试项目 52
3.2.1 Desktop项目调试 53
3.2.2 Html项目调试 54
3.2.3 Android项目调试 56
3.2.4 iOS项目调试 59
3.3 libGDX多平台工程详解 64
3.3.1 Core工程目录解析 64
3.3.2 Android工程目录解析 65
3.3.3 Desktop工程目录解析 66
3.3.4 Html工程目录解析 66
3.3.5 iOS工程目录解析 67
3.3.6 多平台配置文件详解 68
3.4 本章小结 69
第4章 基础开发库 70
4.1 开发文档介绍 71
4.1.1 在线查看API文档 71
4.1.2 离线查看API文档 72
4.1.3 常用开发包介绍 73
4.1.4 官方Wiki 77
4.2 游戏生命周期 78
4.2.1 ApplicationListener接口 78
4.2.2 ApplicationAdapter类 82
4.3 纹理类 83
4.3.1 纹理类的构造方法 83
4.3.2 纹理类的常用方法 84
4.3.3 实战演练 85
4.4 精灵画笔类 87
4.4.1 SpriteBatch类的构造方法 87
4.4.2 SpriteBatch类的常用方法 88
4.4.3 实战演练 89
4.5 Pixmap类 91
4.5.1 Pixmap类的构造方法 91
4.5.2 Pixmap类的常用方法 92
4.5.3 实战演练 93
4.6 纹理区域类 95
4.6.1 TextureRegion类的构造方法 95
4.6.2 TextureRegion类的构造方法详解 96
4.6.3 TextureRegion类的常用方法 97
4.6.4 实战演练 97
4.7 精灵类 99
4.7.1 Sprite类的构造方法 99
4.7.2 Sprite类的常用方法 100
4.7.3 实战演练 101
4.8 本章小结 103
第5章 核心开发库 104
5.1 演员类 104
5.1.1 演员类的构造方法 105
5.1.2 演员类的常用方法 105
5.1.3 实战演练 108
5.2 舞台类 110
5.2.1 舞台类的构造方法 111
5.2.2 舞台类的常用方法 111
5.2.3 实战演练 113
5.3 Viewport类 116
5.3.1 Viewport类的构造方法 117
5.3.2 Viewport类的常用方法 118
5.3.3 实战演练 120
5.4 动作类 124
5.4.1 动作特效类 124
5.4.2 动作控制类 125
5.4.3 实战演练 126
5.5 动画类 131
5.5.1 动画类的构造方法 131
5.5.2 动画类的常用方法 131
5.5.3 实战演练 133
5.6 综合示例 135
5.7 本章小结 142
第6章 游戏开发工具 143
6.1 文字处理 143
6.1.1 Hiero工具用法 143
6.1.2 BitmapFont类 146
6.1.3 BitmapFont类的构造方法 146
6.1.4 BitmapFont类的常用方法 147
6.1.5 实战演练 148
6.2 图片合成工具 153
6.2.1 图片合成工具用法 153
6.2.2 TextureAtlas类 157
6.2.3 TextureAtlas类的构造方法 158
6.2.4 TextureAtlas类的常用方法 158
6.2.5 实战演练 160
6.3 粒子编辑器 163
6.3.1 粒子编辑器的使用方法 164
6.3.2 ParticleEffect类 168
6.3.3 ParticleEffect类的构造方法 168
6.3.4 ParticleEffect类的常用方法 168
6.3.5 实战演练 169
6.4 地图编辑器 173
6.4.1 游戏图层详解 174
6.4.2 地图编辑器的使用方法 174
6.4.3 TiledMap类 177
6.4.4 TiledMap类的常用方法 177
6.4.5 OrthogonalTiledMapRenderer类 178
6.4.6 OrthogonalTiledMapRenderer类的构造方法 178
6.4.7 OrthogonalTiledMapRenderer类的常用方法 179
6.4.8 实战演练 180
6.5 本章小结 181
第7章 常用系统控件 182
7.1 Skin类 182
7.1.1 JSON配置文件 182
7.1.2 Skin类的构造方法 184
7.1.3 Skin类的常用方法 185
7.1.4 实战演练 186
7.2 Button类 188
7.2.1 Button类的构造方法 188
7.2.2 Button类的常用方法 189
7.2.3 ButtonStyle类的成员变量 189
7.2.4 ButtonStyle类的构造方法 190
7.2.5 实战演练 190
7.3 Label类 194
7.3.1 Label类的构造方法 194
7.3.2 Label类的常用方法 195
7.3.3 标签样式类 196
7.3.4 实战演练 196
7.4 Image类 199
7.4.1 Image类的构造方法 199
7.4.2 Image类的常用方法 200
7.4.3 实战演练 201
7.5 CheckBox类 203
7.5.1 CheckBox类的构造方法 204
7.5.2 CheckBox类的常用方法 205
7.5.3 CheckBoxStyle类 205
7.5.4 CheckBoxStyle类的构造方法 206
7.5.5 实战演练 206
7.6 ProgressBar类 210
7.6.1 ProgressBar类的构造方法 211
7.6.2 ProgressBar类的常用方法 211
7.6.3 ProgressBarStyle类 212
7.6.4 ProgressBarStyle类的构造方法 213
7.6.5 实战演练 213
7.7 Slider类 218
7.7.1 Slider类的构造方法 218
7.7.2 Slider类的常用方法 219
7.7.3 SliderStyle类 219
7.7.4 SliderStyle类的构造方法 220
7.7.5 实战演练 220
7.8 TextField类 223
7.8.1 TextField类的构造方法 223
7.8.2 TextField类的常用方法 223
7.8.3 TextFieldStyle类 225
7.8.4 TextFieldStyle类的构造方法 225
7.8.5 实战演练 226
7.9 TouchPad类 229
7.9.1 TouchPad类的构造方法 229
7.9.2 TouchPad类的常用方法 229
7.9.3 TouchPadStyle类 230
7.9.4 TouchPadStyle类的构造方法 231
7.9.5 实战演练 231
7.10 ScrollPane类 235
7.10.1 ScrollPane类的构造方法 235
7.10.2 ScrollPane类的常用方法 236
7.10.3 ScrollPaneStyle类 237
7.10.4 ScrollPaneStyle类的构造方法 238
7.10.5 实战演练 239
7.11 List类 242
7.11.1 List类的构造方法 242
7.11.2 List类的常用方法 242
7.11.3 ListStyle类 243
7.11.4 ListStyle类的构造方法 243
7.11.5 实战演练 244
7.12 SelectBox类 246
7.12.1 SelectBox类的构造方法 246
7.12.2 SelectBox类的常用方法 247
7.12.3 SelectBoxStyle类 248
7.12.4 SelectBoxStyle类的构造方法 249
7.12.5 实战演练 249
7.13 SplitPane类 252
7.13.1 SplitPane类的构造方法 252
7.13.2 SplitPane类的常用方法 253
7.13.3 SplitPaneStyle类 254
7.13.4 SplitPaneStyle类的构造方法 254
7.13.5 实战演练 255
7.14 Tree类 257
7.14.1 Node类 257
7.14.2 Tree类的构造方法 259
7.14.3 Tree类的常用方法 259
7.14.4 TreeStyle类 260
7.14.5 实战演练 261
7.15 Window类 264
7.15.1 Window类的构造方法 264
7.15.2 Window类的常用方法 264
7.15.3 WindowStyle类 265
7.15.4 WindowStyle类的构造方法 265
7.15.5 实战演练 266
7.16 综合示例 271
7.17 本章小结 279
第8章 高级开发库 280
8.1 AssetManager类 280
8.1.1 AssetManager类的构造方法 280
8.1.2 AssetManager类的常用方法 281
8.1.3 实战演练 282
8.2 Screen类 286
8.2.1 Game类 287
8.2.2 Screen类的构造方法 287
8.2.3 Screen类的常用方法 288
8.2.4 实战演练 288
8.3 音频类 295
8.3.1 Music类 296
8.3.2 Sound类 297
8.3.3 实战演练 298
8.4 Mesh类 304
8.4.1 VertexAttribute类 305
8.4.2 VertexAttribute类的构造方法 306
8.4.3 VertexAttribute类的常用方法 306
8.4.4 Mesh类的构造方法 307
8.4.5 Mesh类的常用方法 307
8.4.6 GLSL语言 308
8.4.7 实战演练 309
8.5 Camera类 313
8.5.1 Camera类的成员变量 314
8.5.2 Camera类的常用方法 314
8.5.3 照相机原理 315
8.5.4 OrthographicCamera类 316
8.5.5 实战演练1 317
8.5.6 PerspectiveCamera类 320
8.5.7 实战演练2 321
8.6 Rectangle类 324
8.6.1 Rectangle类的构造方法 325
8.6.2 Rectangle类的常用方法 325
8.6.3 重点方法详解 326
8.6.4 实战演练 327
8.7 Net类 331
8.7.1 Net类的常用方法 331
8.7.2 HttpRequest类 332
8.7.3 HttpResponseListener类 333
8.7.4 实战演练 333
8.8 碰撞检测 337
8.8.1 MapLayers类 337
8.8.2 MapLayer类 338
8.8.3 MapObjects类 339
8.8.4 MapObject类 339
8.8.5 TiledMapTileLayer类 340
8.8.6 Cell类 341
8.8.7 实战演练 342
8.9 本章小结 346
第9章 游戏实战演练 347
9.1 游戏框架搭建 347
9.2 构建物理世界 352
9.3 刚体碰撞监听器 356
9.4 输入监听 360
9.5 传感器 362
9.6 游戏地图 365
9.7 游戏资源加载 370
9.8 自定义精灵类 372
9.9 添加星星 376
9.10 添加火焰 379
9.11 多精灵碰撞 383
9.12 木板切换 386
9.13 多相机调整 390
9.14 游戏背景 392
9.15 主场景处理 394
9.16 死亡与通关 399
9.17 音效添加 401
9.18 项目打包 403
9.18.1 PC端项目打包 403
9.18.2 安卓项目打包 405
9.19 本章小结 407