第1章 Android常见游戏类型 1
1.1 射击类游戏 1
1.1.1 游戏视角 1
1.1.2 游戏内容设计 2
1.2 竞速类游戏 2
1.2.1 游戏视角 3
1.2.2 游戏内容设计 3
1.3 益智类游戏 3
1.3.1 游戏视角 4
1.3.2 游戏内容设计 4
1.4 角色扮演类游戏 5
1.4.1 游戏视角 5
1.4.2 游戏内容设计 6
1.5 闯关动作类游戏 6
1.5.1 游戏视角 7
1.5.2 游戏内容设计 7
1.6 冒险类游戏 7
1.6.1 游戏视角 8
1.6.2 游戏内容设计 8
1.7 策略类游戏 8
1.7.1 游戏视角 9
1.7.2 游戏内容设计 9
1.8 养成类游戏 10
1.8.1 游戏视角 10
1.8.2 游戏内容设计 10
1.9 经营类游戏 11
1.9.1 游戏视角 11
1.9.2 游戏内容设计 11
1.10 体育类游戏 12
1.10.1 游戏视角 12
1.10.2 游戏内容设计 13
1.11 本章小结 13
1.12 思考与练习 13
第2章 Android基础知识 14
2.1 Android平台简介 14
2.2 搭建Android开发环境 15
2.3 Eclipse Debug调试程序 16
2.3.1 Eclipse调试器 16
2.3.2 Logcat 17
2.4 Android系统架构 18
2.5 创建第一个Android项目 20
2.5.1 使用Eclipse创建项目 20
2.5.2 使用命令行创建项目 20
2.6 Android Project项目结构 21
2.7 Android资源使用 25
2.7.1 字符串资源 26
2.7.2 数组资源 26
2.7.3 颜色资源 27
2.7.4 尺寸资源 27
2.7.5 Drawable资源 27
2.7.6 样式和主题资源 28
2.7.7 布局资源 29
2.7.8 原始资源 31
2.7.9 原始资产 31
2.7.10 其他XML文件 32
2.8 屏幕方向改变的应对策略 32
2.9 Android中常用的计量单位 33
2.10 Android中的国际化 33
2.11 消息提示与对话框 34
2.11.1 用Toast类显示消息 34
2.11.2 用AlertDialog类实现对话框 35
2.11.3 基础实例:自定义视图对话框 38
2.12 本章小结 40
2.13 思考与练习 40
第3章 Android游戏开发之视图界面 41
3.1 界面布局 41
3.1.1 线性布局 41
3.1.2 表格布局 42
3.1.3 相对布局 45
3.1.4 帧布局 46
3.1.5 绝对布局 47
3.2 游戏开发常用组件 47
3.2.1 按钮类组件 47
3.2.2 文本类组件 53
3.2.3 进度条类组件 60
3.2.4 选项卡组件 64
3.2.5 列表类组件 66
3.2.6 日期、时间类组件 71
3.3 基本程序单元——活动 73
3.3.1 Android生命周期 74
3.3.2 用Intent切换页面 79
3.3.3 用Intent实现活动间简单参数传递 81
3.3.4 Bundle类在活动传值中的使用 83
3.3.5 用Intent实现活动间传递对象参数 87
3.4 Android事件处理 91
3.4.1 处理键盘事件 91
3.4.2 处理触摸事件 92
3.5 综合实例一:游戏菜单及选项设置界面 93
3.5.1 功能描述 93
3.5.2 关键技术 93
3.5.3 实现过程 94
3.6 综合实例二:BMI计算器 103
3.6.1 功能描述 103
3.6.2 关键技术 103
3.6.3 准备知识 103
3.6.4 实现过程 104
3.6.5 实例扩展 107
3.7 综合实例三:猜猜看 112
3.7.1 功能描述 112
3.7.2 关键技术 113
3.7.3 实现过程 113
3.8 本章小结 117
3.9 思考与练习 117
第4章 Android游戏开发之图形界面 118
4.1 线程与消息处理 118
4.1.1 循环者类Looper 118
4.1.2 Handler消息传递机制 119
4.1.3 消息类Message 119
4.1.4 基础实例:快乐舞者 120
4.1.5 基础实例:风中的气球 122
4.2 Android二维游戏开发视图 125
4.2.1 View框架 126
4.2.2 SurfaceView框架 128
4.3 常用绘图类 133
4.3.1 Paint类 133
4.3.2 Canvas类 134
4.3.3 Bitmap类 135
4.3.4 BitmapFactory类 135
4.3.5 基础实例:游戏角色行走控制 136
4.4 绘制2D图像 139
4.4.1 绘制文本 139
4.4.2 绘制几何图形 141
4.4.3 绘制路径 143
4.4.4 绘制图片 144
4.5 图像特效 146
4.5.1 旋转图像 146
4.5.2 缩放图像 147
4.5.3 倾斜图像 147
4.5.4 平移图像 148
4.5.5 渲染图像 149
4.6 剪切区域 150
4.6.1 剪切区域原理 150
4.6.2 基础实例:RPG游戏地图生成 150
4.6.3 基础实例:游戏中的自动滚屏 153
4.7 游戏动画 156
4.7.1 逐帧动画 156
4.7.2 补间动画 158
4.7.3 自定义动画 164
4.8 综合实例一:小小弹球 167
4.8.1 功能描述 167
4.8.2 关键技术 167
4.8.3 实现过程 168
4.8.4 实例拓展 173
4.9 综合实例二:动态游戏导航界面 175
4.9.1 功能描述 175
4.9.2 关键技术 175
4.9.3 实现过程 176
4.9.4 实例拓展 180
4.10 综合实例三:打地鼠 184
4.10.1 功能描述 184
4.10.2 关键技术 184
4.10.3 实现过程 185
4.11 综合实例四:游戏中的瞄准镜 188
4.11.1 功能描述 188
4.11.2 关键技术 188
4.11.3 实现过程 188
4.12 综合实例五:发疯的小猪 190
4.12.1 功能描述 190
4.12.2 关键技术 191
4.12.3 实现过程 191
4.13 综合实例六:开心涂鸦 194
4.13.1 功能描述 194
4.13.2 关键技术 194
4.13.3 实现过程 195
4.14 本章小结 199
4.15 思考与练习 200
第5章 Android多媒体与传感器 201
5.1 Camera图像采集 201
5.2 游戏音乐与音效 204
5.2.1 MediaPlayer类 205
5.2.2 SoundPool类 208
5.2.3 基础实例:游戏音效 210
5.2.4 基础实例:游戏开场动画 214
5.3 播放视频 215
5.4 传感器 219
5.4.1 传感器介绍 219
5.4.2 传感器框架 221
5.4.3 基础实例:战机飞行 223
5.5 综合实例一:控制相机拍照 227
5.5.1 功能描述 227
5.5.2 关键技术 227
5.5.3 实现过程 227
5.6 综合实例二:游戏导航摇杆 231
5.6.1 功能描述 231
5.6.2 关键技术 231
5.6.3 实现过程 232
5.7 综合实例三:多点触屏缩放 234
5.7.1 功能描述 234
5.7.2 关键技术 234
5.7.3 实现过程 234
5.8 本章小结 236
5.9 思考与练习 236
第6章 Android数据存储与网络编程 237
6.1 游戏数据存储 237
6.1.1 SharedPreferences 238
6.1.2 使用Files对象存储数据 241
6.1.3 SQLite数据库应用 245
6.2 基于Socket的网络编程 260
6.3 基于HTTP的网络编程 264
6.3.1 使用HttpURLConnection类访问网络 264
6.3.2 使用HttpClient类访问网络 272
6.4 用WebView组件显示网页 276
6.5 本章小结 279
6.6 思考与练习 279
第7章 游戏中的数学与物理学 280
7.1 游戏中常用的数学知识 280
7.2 游戏中常用的物理学知识 284
7.3 碰撞检测 287
7.3.1 矩形碰撞检测 288
7.3.2 圆形碰撞检测 291
7.3.3 像素碰撞检测 293
7.4 游戏中的粒子系统 297
7.5 本章小结 303
7.6 思考与练习 303
第8章 案例演练——疯狂战机 304
8.1 游戏背景及功能概述 304
8.1.1 游戏类型 304
8.1.2 功能简介 304
8.2 游戏的策划及准备工作 304
8.2.1 游戏的策划 305
8.2.2 Android平台下游戏的准备工作 305
8.3 游戏的架构 307
8.3.1 游戏中各个类的简介 307
8.3.2 游戏运行界面 308
8.4 游戏中的实体相关类 309
8.4.1 主战飞机类Plane 309
8.4.2 敌机类Enemy 315
8.4.3 子弹类Bullet 325
8.4.4 道具类Property 336
8.5 游戏中的界面相关类 341
8.5.1 游戏显示类PlaneGameActivity 341
8.5.2 游戏主界面类GameView 341
8.5.3 游戏界面绘制类GameScreen 344
8.5.4 菜单界面类MenuScreen 348
8.5.5 数据存储类GameStore 352
8.6 游戏中的辅助类 354
8.6.1 Tools类 354
8.6.2 GameMusic类 355
8.7 本章小结 356
8.8 思考与练习 356
第9章 Android游戏物理引擎 357
9.1 常用2D物理引擎 357
9.2 常用3D物理引擎 359
9.3 本章小结 359
9.4 思考与练习 360
参考文献 361