作为引领移动技术潮流的软件平台,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
《2009-2010智能科学与技术学科发展报告》包含1篇综合报告和11篇专题报告。其中,综合报告的主要内容包括:(1)我国智能科学与技
《深入理解InfluxDB:时序数据库详解与实践》内容简介:时序数据库是一种新型技术,主要用于工业互联网软件建设中。近年来,伴随着
《PyTorch深度学习简明实战》内容简介:本书针对深度学习及开源框架——PyTorch,采用简明的语言进行知识的讲解,注重实战。全书分
《军人常见心理问题解析及辅导》内容简介:本书选取军人在兵之初、日常工作、人际交往、个人生活(包括恋爱、婚姻、家庭等方面)常
《会带人,才有高效团队》内容简介:针对管理者在打造团队时的困惑,作者通过多年的研究与实践,总结出一个适用于高效团队的衡量标
《中国哲学创新方法论研究》内容简介:中国哲学学科自20世纪初依西方哲学范式建成以来,始终面临着方法论的困境,无论是在概念创造
影響各式設計完成度最重要的「標準字設計」(logotypedesign)中、歐、日標準字設計要領,一次掌握!--華文世界第一本字型MOOK
数据库云平台理论与实践 本书特色数据库云平台是当今乃至今后一段时期信息化领域普遍关注的一个热点领域。云技术的本质是分布式计算,而数据库云平台揭示的正是分布式计算...
《中国就业战略报告:金融危机以来的中国就业季度分析(2015)》内容简介:就业市场短期分析及预测源于我国劳动力市场短期波动及对
《设计模式的艺术:软件开发人员内功修炼之道》内容简介:软件开发是一门技术,更是一门艺术。设计模式是面向对象软件开发的入门功
《MFCWindows程序设计》是对其极为经典的第1版的全面更新,书中不仅扩展了已被认为是权威的Microsoft用于WindowsAPI的功能强大的
《差错控制编码》围绕信道编码理论、技术及其应用,对各种编码方法的工程应用背景及发展前景作了详尽系统的介绍。全书共分9章,主
《搜索引擎优化》对于DIY搜索引擎营销初学者而言,《搜索引擎优化》是一本非常好的入门读物。该书不仅涵盖了SEO的基本要素,还深
《传统道德与中华人文精神》内容简介:人性、处世、处己、处人的人生观,义利、公私、理欲、德才的价值观,孝、忠、仁、义、礼、智
本书按字母顺序编排,查阅方便,能迅速根据名称检索设计原则。对于有兴趣解决具体问题的读者,本书根据设计师常见的问题给通则作
《无线通信中迭代均衡技术》从高性能的Turbo、LDPC译码思想出发,研究了迭代算法在无线通信系统均衡技术中的应用问题。全书从误码
《CSSWeb站点设计手册》针对初、中级读者,特别是针对入门级读者。书中包含了经过精心筛选的学习CSS必须要了解和掌握的所有内容。
《非正常军师联盟》内容简介:古人很潮系列书籍。继《唐朝有嘻哈》《宋朝好声音》《魏晋有美男》《奇葩王者说》《古人教你学吐槽》
《Kubernetes实战》内容简介:在本书中,四位在分布式系统、企业应用开发和开源领域有着丰富经验的Kubernetes专家将会对使用Kubern
《无线局域网设计与优化》内容简介:《无线局域网设计与优化》从WLAN的起源和演进出发,简洁而又直观地描述了基于IEEE 802.11 协议