作为引领移动技术潮流的软件平台,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
随着虚拟环境、增强现实、混合现实以及普适计算等“脱离桌面”技术的出现,三维用户界面(3DUI)的设计和开发已经成为一个重要的
本书有两条线索,一条线索是以Linux平台为载体全面深入地介绍C语言的语法和程序的工作原理,另一条线索是介绍程序设计的基本思想
SPSS for Windows 数据统计分析工具应用教程 内容简介 信息技术代表*先进的生产力.其对科学技术理论的推动作用是显而易见的。信息本身的意义并...
《中古社会变迁与隋唐史研究(上下册)》内容简介:本书是吴宗国先生从教六十周年纪念论文集,分上下两册。上册研究篇,汇集了历年
本书以独特的编辑理念展示了极具视觉冲击力的图像,这些作品既大气而又清晰准确地传达出它们所要表达的信息。本书集实用与艺术于
Thisisahands-onbookwhichintroducesyoutoagileJavaScriptwebandmobilesoftwaredevelo...
NLPdescribesinsimpletermswhatthesepeopledodifferentlyandenablesyoutolearnthesepa...
《鲁迅自编文集:华盖集续编》内容简介:本书是鲁迅的一部杂文集,收录了鲁迅在1926年间所写的杂文三十二篇。包括《杂论管闲事·做
《绿色经济发展与政策研究文集》内容简介:本书讨论了绿色增长监测指标体系的构建、家庭消费支出变化与二氧化碳排放量之间的关系,
《解密淘宝天猫新版直通车红利》内容简介:从天猫新版直通车规则的变化谈起,讲授新版直通车如何操作和竞位,如何进行关键词推广,
通过使用Dojo这个工业强度的JavaScript工具箱,我们可以比使用其他任何Ajax框架更高效、更容易地创建JavaScript或Ajax驱动的应用
《司法的长期主义》内容简介:本书的内容体现了最新成长起来的法律人的思维方式,代表了逐渐掌握话语权的新生代法律人的法治理念。
单片机C语言程序设计实训100例-基于8051+Proteus仿真 内容简介 本书基于Keil μVision程序设计平台和Proteus硬件仿真平台,精心编写...
黑川雅之(MasayukiKurokawa)先生1937年生于日本名古屋,先后毕业于名古屋工业大学建筑系及早稻田大学。1967年在他获得早稻田大学
《循环:大学学习那些事儿》内容简介:本书的内容,对于好生和差生都是适用的,对于前者,如果你尚未清楚自己为什么能够取得优异的
本书意在用这些最优秀的软件开发类文章来激励程序员们编写出更优秀的软件。我的目的很简单,就是好好编写软件。编程工作充满魅力
本书是关于数字信号处理(DSP)原理、实现和应用的最新教程。全书在概述了数字信号的产生、定义和处理实例之后,详细讨论了差分方
LATEX 入门 本书特色 LATEX肇始于20世纪80年代初,也是LeslieLamport博士为了编写他自己的一部书籍而设计的。LATEX实际上就是用TEX...
《游泳运动身体训练指南》内容简介:优秀的身体素质是技术水平得以良好发挥的必要支撑。本书针对游泳运动,提供了适合手臂、肩部、
DoyouwanttopushRubytoitslimits?The"RubyCookbook"isthemostcomprehensiveproblem-so...