本书主要内容包括Android常用游戏类型的视角与内容设计、项目结构、资源管理、生命周期、布局与基础组件、事件处理、多线程与消息处理、游戏视图、图形特效、游戏动画、多媒体与传感器、游戏中的数学与物理学知识、碰撞检测及Android平台下常用的游戏物理引擎。
本书采用以“案例驱动”为主线的“基础—实践—综合—训练”这一循序渐进的学习体系,理论知识及实验内容立足于教学实际,案例选择来源于商业实际应用;结合“理论—实践”一体化及“工学结合”的教学理念,突出CDIO教学理念的实用性、灵活性、先进性和技巧性;力求“素质、能力、知识”合一和“教、学、做”合一;各章知识点整体以从易到难、由浅入深的形式呈现,通过验证实例、基础实例、综合实例让读者循序渐进地学习和掌握Android游戏开发的相关知识与技巧。
本书兼具技术手册和教材的特点,适合作为高等学校数字媒体技术、软件工程、计算机科学与技术等专业和各类培训机构相关课程的教材,也可供移动游戏开发从业人员参考。
.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
◆Android游戏开发案例教程目录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.1Android平台简介14
2.2搭建Android开发环境15
2.3Eclipse Debug调试程序16
2.3.1Eclipse调试器16
2.3.2Logcat17
2.4Android系统架构18
2.5创建第一个Android项目20
2.5.1使用Eclipse创建项目20
2.5.2使用命令行创建项目20
2.6Android Project项目结构21
2.7Android资源使用25
2.7.1字符串资源26
2.7.2数组资源26
2.7.3颜色资源27
2.7.4尺寸资源27
2.7.5Drawable资源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.9Android中常用的计量单位33
2.10Android中的国际化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.1Android生命周期74
3.3.2用Intent切换页面79
3.3.3用Intent实现活动间简单参数传递81
3.3.4Bundle类在活动传值中的使用83
3.3.5用Intent实现活动间传递对象参数87
3.4Android事件处理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循环者类Looper118
4.1.2Handler消息传递机制119
4.1.3消息类Message119
4.1.4基础实例: 快乐舞者120
4.1.5基础实例: 风中的气球122
4.2Android二维游戏开发视图125
4.2.1View框架126
4.2.2SurfaceView框架128
4.3常用绘图类133
4.3.1Paint类133
4.3.2Canvas类134
4.3.3Bitmap类135
4.3.4BitmapFactory类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.1Camera图像采集201
5.2游戏音乐与音效204
5.2.1MediaPlayer类205
5.2.2SoundPool类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.1SharedPreferences238
6.1.2使用Files对象存储数据241
6.1.3SQLite数据库应用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.2Android平台下游戏的准备工作305
8.3游戏的架构307
8.3.1游戏中各个类的简介307
8.3.2游戏运行界面308
8.4游戏中的实体相关类309
8.4.1主战飞机类Plane309
8.4.2敌机类Enemy315
8.4.3子弹类Bullet325
8.4.4道具类Property336
8.5游戏中的界面相关类341
8.5.1游戏显示类PlaneGameActivity341
8.5.2游戏主界面类GameView341
8.5.3游戏界面绘制类GameScreen344
8.5.4菜单界面类MenuScreen348
8.5.5数据存储类GameStore352
8.6游戏中的辅助类354
8.6.1Tools类354
8.6.2GameMusic类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