作为引领移动技术潮流的软件平台,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
《宋词背后那些有趣的灵魂》内容简介:《宋词背后那些有趣的灵魂》是一本透过词人人生来品读古典诗词之美的书,囊括了十位宋代优秀
《陈子涛传》内容简介:本书为雨花台烈士传丛书之一,记叙了陈子涛烈士的一生。陈子涛1920年出生于广西玉林。1938年,初中毕业的陈
Visual C++ OpenGL应用程序开发-(附光盘) 本书特色 《Visual C++ OpenGL应用程序开发》共11章,介绍了程序基础、形体建模、渲染...
现在的软件糟糕透顶。软件不安全,它允许恶意程序通过Internet线路钻到我们的卧室;软件不可靠,当我们最需要它的时候它却崩溃,
《作文课》内容简介:知名作家蒋方舟妈妈——尚爱兰老师独家作文心得,小学三至六年级家庭必备作文参考书。《作文课》是知名作家蒋
深度学习-基于MATLAB的设计实例 本书特色 深度学习如此流行,以至于关于它的资料随处可见。但往往是理论连篇,并不适合开发者具体使用,本书内容丰富实用、原理直...
数据库系统原理教程国家精品课程教材 内容简介 由王珊、陈红编著的《数据库系统原理教程(国家精品课程教材)》系统、完整地讲述了当前数据库技术的基本原理和应用实践。...
《黑客的代码》内容简介:一组名为“超级瘾君子”的神秘代码何以让全球陷入恐慌。这部由国际知名的网络安全专家写成的作品,向我
《HotSpot实战》深入浅出地讲解了HotSpot虚拟机的工作原理,将隐藏在它内部的本质内容逐一呈现在读者面前,包括OpenJDK与HotSpot
《聊将锦瑟记流年 : 黄仲则诗传》内容简介:是古典诗词赏析第一人安意如,三年心血写著。33万精辟文字,凝聚十年诗词赏读所成,首度
《故乡情·北江谣》内容简介:《故乡情·北江谣》一书的内容分为上下两篇,作者林永泽有着深厚的文字功底,擅长运用四时之景的变化
Pro/ENGINEER Wildfire3.0工程图制作1CD 内容简介 本书在循序渐进的教学中,通过精选的案例讲解了Pro/ENGINEER Wildfir...
《DDD工程实战:从零构建企业级DDD应用》内容简介:这是一本能教你快速从零构建一个完整的企业级DDD应用的实战性著作。DDD本身涉及
本书以UML为载体,将面向对象的分析设计思想巧妙地融入建模过程中,通过贯穿全书的实例将软件系统开发过程中方方面面的知识有机地
Visual C++.NET编程宝典 内容简介 本书作者具有丰富的Viual C++.NET/MFC经验,对许多具体问题的处理都有独到的见解。本书按照由浅入深的...
《帝鉴图说:全本插图版》内容简介:《帝鉴图说》是明代大臣张居正编给小万历皇帝看的一部图画书。书名“帝鉴”,取自唐太宗“以史
《乘用车车身结构设计与轻量化》内容简介:本书是“汽车轻量化技术与应用系列丛书”中的一册,主要围绕车身结构设计与轻量化展开。
《信号与系统》采用先时域后变换域的顺序,以对偶和类比的方式逐章逐节、完全并行地讲述连续时间和离散时间信号与系统的一系列基
Inthisengrossingbook,twoworld-renownedscholarscompareandcontrastthecosmology,sci...
《Python人工智能》内容简介:本书系统地介绍了基于Python平台的人工智能的原理及实现过程,全书共7章。第1章“从这里开始认识Pyth