译者序
序
前言
第1章 手机游戏 / 1
1.1 手机游戏市场 / 2
1.2 电脑游戏的世界 / 3
1.2.1 游戏类型 / 3
1.2.2 适合于手机的游戏 / 5
1.2.3 典型的游戏组件 / 6
1.2.4 《少女大战吸血鬼》 / 8
1.2.5 v3的设计 / 9
1.3 andengine范例 / 11
1.4 总结 / 12
1.5 习题 / 12
第2章 游戏要素与工具 / 14
2.1 软件开发工具 / 15
2.1.1 android sdk / 15
2.1.2 andengine游戏引擎库 / 16
2.1.3 andengine游戏概念 / 17
.2.1.4 box2d物理引擎 / 19
2.2 图形工具 / 19
2.2.1 矢量图工具:inkscape / 20
2.2.2 位图工具:gimp / 21
2.2.3 动画捕捉:animget / 22
2.2.4 瓦片地图创建工具:tiled / 23
2.2.5 truetype字体创建与编辑工具:fontstruct / 23
2.3 声音工具 / 24
2.3.1 音效工具:audacity / 24
2.3.2 背景音乐工具:musescore / 25
2.4 初试身手:制作启动画面 / 26
2.4.1 创建游戏项目 / 27
2.4.2 加入andengine库 / 27
2.4.3 加入启动画面代码 / 28
2.4.4 用模拟器运行游戏 / 30
2.4.5 用android设备运行游戏 / 31
2.5 总结 / 31
2.6 习题 / 32
第3章 游戏循环与菜单 / 33
3.1 游戏循环概述 / 34
3.2 andengine的游戏循环 / 35
3.2.1 初始化engine对象 / 35
3.2.2 其他engine类 / 36
3.3 为v3增加菜单屏幕 / 37
3.3.1 andengine的菜单 / 37
3.3.2 构建v3的开始菜单 / 40
3.3.3 创建菜单 / 40
3.3.4 mainmenuactivity类 / 45
3.3.5 常数与字段 / 46
3.3.6 onloadresources()方法 / 46
3.3.7 onloadscene()方法 / 46
3.3.8 createstaticmenuscene()方法与createpopupscene()方法 / 46
3.3.9 onkeydown()方法与onmenuitemclicked()方法 / 47
3.3.10 从启动画面切换到菜单 / 47
3.4 内存使用 / 50
3.5 “退出”选项 / 50
3.6 总结 / 50
3.7 习题 / 51
第4章 场景、图层、场景切换与实体修改器 / 52
4.1 andengine的场景 / 53
4.1.1 实体/组件模型 / 53
4.1.2 entity类 / 54
4.1.3 构造器 / 54
4.1.4 entity类的位置相关方法 / 55
4.1.5 entity类的缩放相关方法 / 55
4.1.6 entity类的颜色相关方法 / 56
4.1.7 entity类的旋转相关方法 / 57
4.1.8 管理子对象 / 57
4.1.9 管理modifier / 58
4.1.10 其他有用的entity类方法 / 58
4.1.11 layer类 / 59
4.1.12 scene类 / 59
4.1.13 背景管理 / 60
4.1.14 子scene对象管理 / 60
4.1.15 layer对象管理 / 61
4.1.16 上级scene对象管理 / 61
4.1.17 触摸区域管理 / 61
4.1.18 特殊scene类 / 61
4.1.19 用于entity的modifier类 / 62
4.1.20 entitymodifier类的通用方法 / 63
4.1.21 位置相关的entitymodifier类 / 63
4.1.22 缩放相关的entitymodifier类 / 66
4.1.23 颜色相关的entitymodifier类 / 67
4.1.24 旋转相关的entitymodifier类 / 67
4.1.25 透明度相关的entitymodifier类 / 68
4.1.26 延迟相关的entitymodifier类 / 69
4.1.27 modifier的组合 / 69
4.1.28 easefunction / 71
4.2 创建游戏第1关的场景 / 79
4.3 总结 / 84
4.4 习题 / 85
第5章 绘制与精灵 / 86
5.1 快速回顾entity类 / 87
5.2 绘制线条与矩形 / 88
5.2.1 线条 / 88
5.2.2 矩形 / 88
5.3 精灵 / 88
5.3.1 贴图 / 89
5.3.2 效率问题 / 99
5.3.3 复合精灵 / 100
5.4 总结 / 104
5.5 习题 / 105
第6章 动画 / 106
6.1 动画所需素材 / 107
6.2 动画的瓦片贴图 / 108
6.3 andengine的动画 / 108
6.4 动画范例 / 110
6.5 将动画加入level1activity类 / 114
6.6 动画制作的问题 / 122
6.7 高级话题:从3d模型中制作2d动画 / 123
6.8 总结 / 123
6.9 习题 / 123
第7章 文本 / 125
7.1 字型与字体 / 126
7.2 载入字型 / 127
7.2.1 font类 / 127
7.2.2 strokefont类 / 127
7.2.3 fontfactory类 / 128
7.2.4 fontmanager类 / 128
7.2.5 typeface类 / 128
7.3 andengine中的文本 / 129
7.3.1 andengine中的文本api / 129
7.3.2 桌面通知 / 132
7.4 定制字型 / 133
7.5 将定制字型加入v3 / 135
7.6 总结 / 142
7.7 习题 / 142
第8章 用户输入 / 144
8.1 android与andengine的输入方式 / 145
8.1.1 字母键盘与袖珍键盘 / 146
8.1.2 触摸 / 146
8.1.3 自定义手势 / 152
8.1.4 屏幕游戏手柄 / 152
8.1.5 加速计 / 153
8.1.6 位置和方向 / 153
8.1.7 语音 / 158
8.2 将用户输入加入v3 / 161
8.3 总结 / 166
8.4 习题 / 166
第9章 瓦片地图 / 168
9.1 为何使用瓦片地图 / 169
9.2 瓦片地图的类型 / 169
9.2.1 正交瓦片地图 / 171
9.2.2 等距投影瓦片地图 / 171
9.3 瓦片地图的结构 / 172
9.4 andengine中的瓦片地图 / 172
9.4.1 tmx与tsx文件 / 172
9.4.2 tmxloader类 / 172
9.4.3 tmxtiledmap类 / 173
9.4.4 tmxlayer类 / 174
9.4.5 tmxtile类 / 174
9.5 瓦片编辑器:tiled / 175
9.6 tmx文件 / 176
9.7 正交瓦片地图游戏:《打吸血鬼》 / 177
9.7.1 wav的瓦片地图 / 177
9.7.2 创建wav的瓦片集 / 178
9.7.3 创建wav的瓦片地图 / 179
9.7.4 《打吸血鬼》游戏的代码 / 181
9.8 等距投影瓦片地图 / 191
9.9 总结 / 191
9.10 习题 / 192
第10章 粒子系统 / 193
10.1 粒子发射器是什么 / 194
10.2 粒子系统如何运作 / 195
10.3 andengine的粒子系统 / 195
10.3.1 particlesystem类 / 196
10.3.2 particleemitter类 / 197
10.3.3 particleinitializer类 / 198
10.3.4 particlemodifier类 / 199
10.3.5 有用的particlesystem类方法 / 200
10.4 创建粒子系统 / 201
10.4.1 以传统方式创建粒子系统 / 201
10.4.2 以xml文件创建粒子系统 / 202
10.5 将粒子发射器加入v3游戏中 / 206
10.5.1 以传统方式制作v3的爆炸效果 / 206
10.5.2 以xml文件方式制作v3的爆炸效果 / 210
10.6 总结 / 211
10.7 习题 / 211
第11章 声音 / 213
11.1 如何在游戏中使用声音 / 214
11.1.1 音乐 / 214
11.1.2 音效 / 214
11.2 音乐与音效的来源 / 215
11.3 音乐与音效制作工具 / 216
11.4 音频解码器 / 216
11.5 使用andengine播放声音 / 217
11.5.1 music类 / 218
11.5.2 sound类 / 218
11.5.3 musicfactory类 / 219
11.5.4 soundfactory类 / 219
11.6 将声音加入v3游戏 / 220
11.6.1 创建音效 / 220
11.6.2 创建背景音乐 / 223
11.6.3 修改v3游戏的代码 / 225
11.7 总结 / 235
11.8 习题 / 236
第12章 物理效果 / 237
12.1 box2d物理引擎 / 238
12.1.1 box2d概念 / 238
12.1.2 设定box2d / 240
12.2 构建物理学游戏的关卡 / 241
12.3 andengine与box2d / 242
12.3.1 下载andenginephysicsbox2dextension并将其加入游戏项目 / 242
12.3.2 box2d的api / 244
12.3.3 简单的物理效果范例 / 247
12.3.4 关卡加载 / 252
12.4 《愤怒的村民》:v3中的物理学小游戏 / 255
12.5 实现iv游戏 / 255
12.5.1 创建关卡 / 256
12.5.2 编写ivactivity.java / 260
12.6 总结 / 270
12.7 习题 / 270
第13章 人工智能 / 272
13.1 游戏ai相关话题 / 273
13.1.1 简单的脚本 / 273
13.1.2 决策树、minimax树与状态机 / 273
13.1.3 专家系统或基于规则的决策系统 / 276
13.1.4 神经网络 / 277
13.1.5 遗传算法 / 278
13.1.6 路径查找 / 279
13.1.7 动态困难度调节 / 280
13.1.8 程序化的音乐生成 / 280
13.2 实现v3游戏的ai / 281
13.3 总结 / 290
13.4 习题 / 290
第14章 计分与碰撞 / 291
14.1 计分系统设计 / 292
14.1.1 更新小游戏取得的分数 / 293
14.1.2 记录5个最高分 / 293
14.1.3 在小游戏场景中显示分数 / 294
14.1.4 分数页面的显示 / 295
14.2 andengine的碰撞 / 298
14.2.1 andengine的shape碰撞 / 298
14.2.2 box2d的碰撞 / 299
14.3 开始计算玩家的得分 / 300
14.4 《墓地》(第1关)场景 / 300
14.4.1 常量和字段 / 300
14.4.2 onloadengine方法与onloadresources方法 / 303
14.4.3 onloadscene方法 / 304
14.4.4 mstartvamp任务 / 306
14.5 《打吸血鬼》 / 307
14.5.1 常量和字段 / 307
14.5.2 onloadscene方法 / 308
14.5.3 opencoffin和closecoffin方法 / 309
14.6 《愤怒的村民》 / 310
14.6.1 常量和字段 / 310
14.6.2 onloadscene方法 / 311
14.6.3 onloadcomplete方法 / 312
14.6.4 addstake方法 / 313
14.7 总结 / 314
14.8 习题 / 314
第15章 多媒体扩展包 / 315
15.1 下载多媒体扩展包 / 316
15.2 动态壁纸 / 317
15.2.1 android动态壁纸 / 317
15.2.2 创建v3的android动态壁纸 / 318
15.3 mod格式音乐 / 322
15.3.1 搜寻mod格式的音乐 / 322
15.3.2 xmp mod播放器 / 323
15.4 多人游戏 / 324
15.5 andengine的多点触摸 / 326
15.6 增强现实游戏 / 328
15.7 总结 / 332
15.8 习题 / 332
第16章 游戏集成 / 334
16.1 困难度调节 / 336
16.1.1 困难度参数的保存 / 336
16.1.2 困难度参数的设定 / 337
16.2 游戏结束画面的代码 / 337
16.3 第1关:主游戏 / 340
16.4 《打吸血鬼》 / 345
16.5 《愤怒的村民》 / 347
16.6 选项菜单 / 350
16.7 总结 / 350
16.8 习题 / 350
第17章 测试与发行 / 352
17.1 应用程序商业模式 / 353
17.2 测试与发行准备工作 / 354
17.2.1 在实际设备上测试游戏 / 354
17.2.2 考虑加入终端用户许可协议 / 355
17.2.3 向manifest文件加入图标与标签 / 357
17.2.4 关闭记录与调试功能 / 357
17.2.5 在游戏中增加版本号 / 357
17.2.6 获取密钥 / 358
17.2.7 编译与签名最终的.apk文件 / 359
17.2.8 测试最终的.apk文件 / 359
17.3 发行游戏 / 360
17.3.1 android market / 360
17.3.2 amazon app store / 362
17.4 推广游戏 / 363
17.4.1 app store推广 / 364
17.4.2 游戏评论网站推广 / 366
17.4.3 手机广告 / 366
17.4.4 口碑营销 / 367
17.4.5 社交网络推广 / 367
17.5 总结 / 367
附录 习题解答 / 369
· · · · · · (
收起)