作为引领移动技术潮流的软件平台,Android发布了NDK以支持Java和C的混合开发,使PC游戏可以在Android平台上焕发更多魅力。
本书是为那些在Android游戏开发工作中寻求突破的人准备的。书中不仅通过Space Blaster和Asteroids这两个炫酷 的街机游戏深入介绍了如何从头构建纯Java游戏,更详细展示了如何将PC上的3D经典游戏Doom和Wolfenstein 3D移植到Android,阐释了在Java和C中混合使用OpenGL 3D图形和Java本地接口的技术。每个示例都提供了完全可用的实际源代码,方便读者理解复杂概念。作者语言简练,分析透彻,往往一语中的。在他的引导下,读者能很快学会将Java优雅的面向对象特性与C的强大功能集于一身,为Android平台构建任何类型的游戏。
第1章 欢迎进入Android游戏世界 1
1.1 必备技能 1
1.1.1 扎实的Android基础 1
1.1.2 Linux和Shell脚本的基本知识 3
1.2 需要哪些软件工具 3
1.3 建立环境 4
1.3.1 获得Android源文件 4
1.3.2 提取本地Android库 6
1.3.3 为ARM处理器安装GNU工具链 8
1.3.4 编写定制编译脚本 10
1.4 建立开发环境 17
1.5 已经成功迈出第一步 22
第2章 在Android中编译本地代码 23
2.1 第一个本地Android应用 23
2.1.1 创建AVD 23
2.1.2 创建Android项目 26
2.1.3 应用体系结构 27
2.2 编译和测试共享库 38
2.2.1 缺少符号时的调试 40
2.2.2 在设备上测试动态库 41
2.2.3 用strace调试 42
2.2.4 静态编译 43
2.3 测试本地应用 44
2.4 下一章内容 46
第3章 从头构建Java游戏 47
3.1 Android游戏与Java ME游戏 47
3.2 创建你的第一个Java游戏——Space Blaster 48
3.2.1 了解游戏的体系结构 49
3.2.2 创建项目 50
3.2.3 创建游戏的活动类 51
3.2.4 创建游戏布局 53
3.2.5 实现游戏 58
3.2.6 处理按键和触控事件 66
3.3 在模拟器上测试 69
3.4 下一章内容 70
第4章 Java游戏续篇:多边形的乐趣 71
4.1 关于本章安排 71
4.2 了解在Android中绘制多边形的问题 71
4.3 了解绘制矩形的问题 73
4.4 为Asteroids创建一个Polygon类 75
4.5 为Asteroids创建PolygonSprite类 80
4.6 游戏的体系结构 84
4.7 创建项目 84
4.7.1 创建游戏布局 85
4.7.2 查看资源 86
4.7.3 了解游戏生命期 87
4.7.4 响应按键和触控事件 97
4.8 在模拟器上测试Asteroids 100
4.9 下一章内容 101
第5章 OpenGL 3D图形与JNI混合 102
5.1 移动设备的强大能力 103
5.2 在Java中使用OpenGL 104
5.2.1 Java主活动 106
5.2.2 表面视图 108
5.2.3 GL线程 110
5.2.4 立方体渲染器 113
5.2.5 Cube类 116
5.3 以本地方式使用OpenGL 118
5.3.1 主活动 120
5.3.2 本地接口类 122
5.3.3 对原示例的修改 123
5.3.4 本地立方体渲染器 124
5.3.5 本地立方体 131
5.3.6 编译和运行示例 132
5.4 OpenGL游戏移植到Android的问题 137
5.5 大幕已经拉开 138
第6章 3D射击游戏Ⅰ:面向Android的Wolfenstein 3D 139
6.1 收集工具 139
6.2 Wolf 3D 140
6.3 游戏体系结构 143
6.4 Wolf 3D的Java类 144
6.4.1 创建主要的WolfLauncher类 145
6.4.2 创建Wolf 3D主菜单 149
6.4.3 处理按键和触控事件 150
6.4.4 创建游戏循环 152
6.4.5 建立本地回调 153
6.4.6 创建声音和音乐处理器 155
6.4.7 创建运动控制器处理程序 156
6.4.8 创建运动控制器 158
6.4.9 声音类 165
6.4.10 本地接口类 174
6.5 编写本地层 176
6.5.1 初始化游戏循环 177
6.5.2 用C到Java的回调级联传递消息 179
6.6 编译本地库 185
6.6.1 编写Makefile 186
6.6.2 生成JNI头文件 187
6.7 在模拟器中测试Wolf 3D 187
6.8 下一章内容 189
第7章 3D射击游戏Ⅱ:面向Android的Doom 191
7.1 Java/C组合的无限潜能 191
7.2 将Doom引入移动设备 192
7.3 Doom的游戏体系结构 194
7.4 Java主活动 195
7.4.1 创建处理器 196
7.4.2 游戏布局 197
7.4.3 菜单和选择处理器 199
7.4.4 按键和触控事件处理器 200
7.4.5 本地回调处理器 202
7.4.6 导航控件 205
7.5 音频类 207
7.6 本地接口类 208
7.6.1 回调监听器 208
7.6.2 本地方法 209
7.6.3 C到Java的回调 209
7.7 本地层 212
7.7.1 本地方法实现 212
7.7.2 对原游戏的修改 223
7.8 Doom库(DSO)编译 229
7.9 在模拟器中测试面向Android的Doom 230
7.10 大功告成 232
附录 部署与编译提示 234
《道德经说什么2》内容简介:现代快节奏与高压的生活,让很多人在工作与健康之间来回摇摆,不知道该如何取舍。面对工作、生活、人际
ExpertSolutionsandState-of-the-ArtCodeExamplesSOAUsingJava™WebServicesisahands-o...
实用灰色预测建模方法及其MATLAB程序实现 本书特色 随着灰色理论研究的不断深入及研究成果的大量涌现,灰色预测模型理论体系日趋完善,同时也出现了数以百计结构各...
新手学电脑从入门到精通 本书特色 《新手学电脑从入门到精通》以知识应用为讲解主旨,以动手实操为组织形式,逐一对电脑的使用方法、操作技能、实际应用等方面做了全面阐...
《C语言学习指南:从规范编程到专业级开发》内容简介:本书分为五部分,通过大量简明易懂的范例由浅入深地演示C语言中的概念和编程
JAVA持续交付 本书特色 本书完整介绍了Java软件开发的整个生命周期,还结合大量的成功实践经验,介绍了每个阶段可能会使用到的工具和技能。在基础设施已经极大完...
中文版Photoshop CS6案例教程 本书特色 本书内容涵盖了Adobe Photoshop认证考试大纲要求的所有知识点,并针对初学者的特点,对Photos...
《班长的战争:华为一线管理者实战指南》内容简介:本书是对任正非和华为所倡导的“班长战争”的实践解读。军人出身的任正非善于从
《JavaScript框架设计(第2版)》内容简介:本书全面讲解了JavaScript框架设计及相关的知识,主要内容包括种子模块、语言模块、浏览
MATLAB数值计算-(2013修订版.中译本) 本书特色 本书《matlab数值计算(2013修订版)》经matlab、数值分析和科学计算之父clevemol...
《源自动机的道德(人文与社会译丛)》内容简介:当代大部分对德性伦理的复兴,都是朝着亚里士多德的方向前进的。斯洛特提出,亚里
《像绣花一样精细:城市治理的金山实践》内容简介:本书由上海交通大学中国城市治理研究院与上海市金山区合作编写。以案例的形式展
可视化绘图制作方法与技巧 本书特色 在做演示、咨询、主持或培训等各种商务活动中,怎样把抽象的问题和概念转变成视觉语言来快速打动受众呢?这就是《可视化绘图制作技巧...
●商业与技术领域最重要的五部作品之一、超级畅销书《释放杀手级应用》作者拉里•唐斯力作。摩尔定律、梅特卡夫定律和颠覆定律是当
C语言程序设计 内容简介 C语言是国内外广泛使用的计算机语言,是计算机从业人员应该掌握的一种重要的程序设计工具。本书是针对应用型人才的培养要求,经过精心策划,准...
《孟子讲座》内容简介:孟子是孔子之后的儒学大师,在战国中期继承孔子思想学说并把儒学发展到新的阶段,被奉为“亚圣”。本书是作
随着《我++——电子自我和互联城市》(Me++:TheCyborgSelfAndTheNetworkedCity)的出版,《比特之城》(CityOfBits)和...
如果你是一名工程师或无线通信项目经理,那么《无线通信系统仿真:C++实用模型》既是方便的参考书,又是理想的指导手册。它可以帮
《公司战略与风险管理(经典题库)》内容简介:《注册会计师全国统一考试专用辅导教材:公司战略与风险管理经典题库》所选练习题,
《Python编程:从入门到实践(第2版)》内容简介:本书是针对所有层次Python读者而作的Python入门书。全书分两部分:第一部分介绍用