作为引领移动技术潮流的软件平台,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
本书从跨学科的视角探索了知识可视化的历史进程及其最新进展。从无形学院和库恩竞争范式,到运用可视化技术绘制知识结构图谱,再
您想源源不断地汲取创作灵感并极大地提高工作效率吗?《中文版PhotoshopCS5技法精粹:以假乱真的艺术(第6版)》将助您实现这一梦
Thegapbetweenwhodesignersanddevelopersimaginetheirusersare,andwhothoseusersreall...
《PaaS实现与运维管理》内容简介:《PaaS实现与运维管理:基于Mesos +Docker+ELK的实战指南》主要阐述了云计算中PaaS平台的实现与运
The Adobe Illustrator CS2 Wow!Book 内容简介 本书由基础、提示、练习、技巧、画廊和参考资料等六个部分融合而成,每部分都是Ill...
东京字体指导俱乐部(TokyoTDC)最佳字体设计揭晓,本书收录了本次大奖所有奖项的作品。东京字体设计俱乐部成立于1987年,在今年
《王牌战机图鉴(白金版)》内容简介:本书精心选取了世界各国空军装备的近百种经典战机。战斗机、轰炸机、反潜战机、武装直升机、
《数字信号处理实验指导书》(MATLAB版)是《数字信号处理:基于计算机的方法》(第2版)一书的配套实验手册,内容涵盖了信号与信号
《神奇的烧脑思维游戏书》内容简介:这是一本全面提升孩子学习兴趣、阅读技巧、文学知识、科学素养、审美情趣的诚意之作。本书细分
《Arduino互动设计》内容简介:本书使用Arduino硬件平台和Mixly图形化编程工具,从简单的“点亮创客之灯”开始,以生活中常见的具体
这本书全面阐述了专业主页设计的原则,并以50个著名网站主页为例,生动地讲解了遵循这些原则所带来的好处或违背这些原则所产生的
《深入浅出HTML5编程(影印版)(英文)》就是你的特快车票,它可以带你学习如何使用今天的标准同时也会是明日的最佳实践来搭建Web应
《流浪生死书》内容简介:人生实苦,要么是身体的病,要么是精神上的痛。人,无法躲避,只有超越。有的人选择文学、有的人选择艺术
《晚安妈妈,晚安宝贝:爱听故事的小猪卡尼》内容简介:本书含26个小故事,让孩子的睡前时光温暖甜蜜,治愈孩子小小的心灵。作者充
《西方文明东进战略与中国应对》内容简介:本书结合西方文明向东方国家扩散的历史与现实,深刻揭示与剖析西方文明东进战略,全书从
视觉手势用户界面:理论、方法和应用:theory, methods, and applications 本书特色 本书凝聚了作者多年的研究成果,收录了作者发表在...
《二战经典战役系列丛书:鏖兵瓜岛(图文版)》内容简介:瓜岛战役是日本继中途岛战役后的又一次大败,此次战役后,日本战略优势不
《服装设计师创业指南》就是要摘下时装界的光环,在呈现其艰辛一面的同时奉上有用的知识和有效的方法以战胜困难,这是一本关于时
别样诠释——一个VisualC++老鸟10年学习与开发心得 本书特色 《别样诠释:一个visual c++老鸟10年学习与开发心得》着眼于实际应用,循序渐进地介...
盖国强(网名Eygle),OracleACE总监,恩墨科技创始人,ITPUB论坛超级版主,远程DBA服务的倡导者和实践者,致力于以技术服务客户