作为引领移动技术潮流的软件平台,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
本书系统地阐释了OFDM技术的基本原理、关键技术及与其他一些技术的结合,重点分析了OFDM技术在无线物理层上的一些关键的问题,并
《我自我的田渠归来》内容简介:“中国当代十大散文家”张晓风精选散文集,部分内容首次大陆出版。本书内容由作者亲自编排,依据宋
《JavaWeb编程从入门到实践》内容简介:JavaWeb开发是目前最流行的网络开发技术之一。《JavaWeb编程从入门到实践》由浅入深,结合
《百年新路》内容简介:近年来,世界经济持续不景气,反全球化、民粹主义势力抬头,现有的国际政治经济秩序已难以为继,美国等西方
《跟李锐学Excel数据分析》内容简介:本书是作者20年实战经验的总结、提炼,汇集了职场人在实际工作中常见的需求。书中结合具体场景
《私人财富保护、传承与工具》内容简介:企业、家族、婚姻等多方面的真实案例,多种财富管理工具,深入介绍财富规划方案及风险。这
JAVASCRIPT DOM编程艺术(第2版) 本书特色 amazon超级畅销书*新版,释放javascript和dom编程的惊人潜力,涵盖html5及jque...
《哈佛凌晨四点半大全集》内容简介:哈佛大学的老师经常给学生这样的告诫:如果你想在进入社会后,在任何时候、任何场合下都能得心
薄膜晶体管液晶显示器显示原理与设计 本书特色 本书基于薄膜晶体管液晶显示器的生产和设计实践,首先介绍了薄膜晶体管液晶显示器的基本概念和器件原理,然后以产品开发的...
《地方政府的战略成长》内容简介:改革开放40年来,城市府际治理在区域经济社会发展与公共事务治理中起到了关键性推动作用。本书以
解析iOS设计模式的开山之作优化Objective-C编程实践的必修宝典由此迈入移动开发高手行列本书讲述如何在代码中应用创建型模式、结
《先学会爱自己,再遇见对的你》内容简介:在这本书出版之际,周梵与她先生的婚姻马上要进入第十个年头。从相爱到婚姻的十四年里,
《Photoshop CS6中文版图像处理实战从入门到精通》内容简介:本书以循序渐进的讲解方式,引领读者快速掌握Photoshop CS6的操作技能
《绘画之美》内容简介:《绘画之美》是北京大学哲学系教授、中华美学学会副会长朱良志对中国传统文人画的解析与品读。作者选取了元
《ECMAScript6入门》全面介绍了ECMAScript6新引入的语法特性,覆盖了ECMAScript6与ECMAScript5的所有不同之处,对涉及的语法...
HTML5 APP开发从入门到精通-(基于HTML5+CSS3+jQuery Mobile+Bootstrap) 本书特色 《HTML5 APP 开发从入门到精...
Fanswillgetbentoutofshapeiftheymissthefirstbooktocovercircuit-bending-bending,fo...
《许倬云说历史:现代文明的成坏》内容简介:★一部气势恢宏、雅俗共赏的大历史,一本剖析西方文明的大师之作 ★《大国霸业的兴废》
新手学Photoshop CS5数码照片处理-超值实用版-(含1DVD价格) 本书特色 内容全面选择*实用*常用的知识,让您的学习不做无用功讲解细致完全图解式讲...
TheGNUAutotoolsmakeiteasyfordeveloperstocreatesoftwarethatisportableacrossmanyUn...