作为引领移动技术潮流的软件平台,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
《城堡的故事》内容简介:城堡是欧洲中世纪的产物,在战争频繁时期常作军事防御之用,如今还有了很好的观赏价值。关于城堡都有哪些
《追梦的笨笨》内容简介:本书写给大学生的书,是一本实用的留学指南,也是一本励志书。全书精髓在于Sonia老师7年美国名校留学申请
《头部主播养成计划:打造你的超级带货力》内容简介:如何定义电商和新零售?为什么直播卖货如此火爆?如何选择合适的直播带货平台
《网众传播 (数字媒介变革书系)》内容简介:“网众传播”指的是由“网众”发起和参与,由“社会性媒体”中介的传播模式、现象与行
《傅雷家书(四十周年纪念精装)》内容简介:傅雷家人编定的傅雷全家于1954年—1966年间的往来家信精选,收录信件215通,其中傅聪、
《基于用户体验的交互式信息服务》针对信息管理和服务中的“交互“问题,在国内外现有研究的基础上,从用户需求出发,围绕交互式
《家屋与嘉绒藏族社会结构》内容简介:本书根据对中国四川省雅安市宝兴县硗碛藏族乡的田野调查资料,以家屋的名号“房名”的研究为
Increasingly,designersneedtopresentinformationinwaysthataidtheiraudiencesthinkin...
《Node.js实战(第2版)》内容简介:本书是在《Node.js实战》基础上打造的全新著作,由多位Node核心框架构建者和经验丰富的Web开发
盛大游戏原画设计精选 内容简介 精选我国著名网络游戏公司盛大公司自主研发的游戏原画,内容包括草图设计、图面渲染、成图效果等设计过程,南京艺术学院游戏专业的专家对...
本书并不具体地描述某一技术的细节,而是尽量从宏观上、从历史的角度来描述通信产业的发展和变迁,描述在一个通信基础设施中使用
政府地理信息系统 本书特色 本书内容丰富,学术性和技术性强。主要读者对象是:政府机关从事政务信息化和电子政务建设的领导同志和技术人员,政府业务部门从事GIS研究...
《活着,就要无声炸裂》内容简介:这是一本让年轻人小宇宙爆发的力量之书。人气博主南顾用自己的亲身经历写下颠沛流离的青春、肆意
五笔字型短训教程 内容简介 本书从*基本的指法开始讲起,全面、系统地介绍了86版五笔字型输入法、98版五笔字型输入法。本书是一本指导读者学习五笔字型输入法的培训...
《网页艺术设计》将软件技术与艺术理论进行整合,注重知识性与研究性、实践性与理论性、系统性与逻辑性,全面介绍网页艺术设计的
Designingabrochureorwebsitewithoutanartbackground?Stepawayfromthecomputerandread...
《小顾聊印象派》内容简介:改变时代的人,皆由时代造就。整个时代都在变,艺术怎能一成不变? 1874年,一个名叫莫奈的家伙登高一呼
《好玩的生物学:陪中学生一起阅读生命》内容简介:本书是一本适合全学段中学生进行严肃阅读的生物学科普读物。全书以“系统”“适
WiththisdigitalEarlyReleaseeditionofHeadFirstAndroidDevelopment,yougettheentireb...
Afascinatingexplorationofhowinsightsfromcomputeralgorithmscanbeappliedtoourevery...