作为引领移动技术潮流的软件平台,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
《新手学:黑客攻防(入门篇)(超值实用版)》共11章。第1章介绍黑客的基础知识,包括黑客入侵的途径、入侵命令以及入侵的方式。第2章
《时光与你:唯美人像摄影与后期养成攻略》内容简介:关于摄影的知识纷繁而复杂,并没有一条特定的逻辑线贯穿始终,而本书所梳理的
计算机应用基础// 本书特色 本书系统全面的介绍了计算机基础知识、windows xp操作系统、word 2003应用、excel 2003应用、powerpo...
《饮膳正要译注》内容简介:《饮膳正要》三卷,元忽思慧(又作和斯辉)撰,是我国第一部营养学专著。忽思慧于元仁宗延祐年间(公元
网络伴随我们的时间不算很长,然而因特网的流行和商业化的普及速度却是惊人的,这促使人类活动和社会的每个领域都发生了改变。我
《趣学Python编程》内容简介:python是一款解释型、面向对象、动态数据类型的高级程序设计语言。python语法简捷而清晰,具有丰富和
想要为平板、手机、笔记本、大屏幕设备,甚至可穿戴设备提供最优的用户体验?那就学习响应式设计吧。这是一本内容特别全面、讲解
《金克木散文》内容简介:本书大致分四个部分:写自己、忆师友、论读书、谈文化。写自己,往往谦虚自抑,从中可读出一个善思敏行的
《华杉讲透《资治通鉴》9》内容简介:《资治通鉴》从战国写到五代十国,生动展现了十六个朝代一千三百六十二年历史中一个个活生生的
Java 数据库高级编程宝典 本书特色 内容丰富、权威,详尽细致地介绍了软件开发环境的搭建方法,通过完整的网络相册和留言板实例展现了JSP+SServlet+J...
Adobe Photoshop CS6中文版经典教程-(彩色版)-(附光盘) 本书特色 《adobe photoshop cs6中文版经典教程(附光盘彩色版)》...
《Ruby设计模式》是一本关于设计模式方面的重点书籍。《Ruby设计模式》以通俗易懂的方式介绍了Ruby设计模式,主要包括Ruby概述、
《PHP、MySQL和Apache编程导学(原书第4版)》介绍Web应用开发的强大组合工具:MySQL、Apache和PHP,共分为六个部分。第一部分引领
《市场研究与应用》收集、整理、归纳和丰富了市场研究的最新成果,内容涉及市场细分与定位、产品测试、营销渠道及其管理研究体系
ImportantnewinsightsintohowvariouscomponentsandsystemsevolvedPremisedontheideath...
《格言联璧》内容简介:本书是清人金缨辑录的一部格言集成。金缨,字兰生,清朝道光、咸丰时人,他遍览群书,凡遇名言佳句便记录下
Abasicproblemincomputervisionistounderstandthestructureofarealworldscenegivensev...
当前正在全球兴起的数字网络是一种能极大改变城市面貌的基础设施。这一全新的基础设施将产生新型的社会关系,以此为基础,一种更
《简单·丰盛·美好:面饭、蔬食配菜》内容简介:不远之前的博客时代,一个中断博士学业、改行入厨的台湾女生曾以“厨房里的人类学
《自己动手写Docker》内容简介:《自己动手写Docker》在详细分析Docker所依赖的技术栈的基础上,一步一步地通过代码实例,让读者可