Android 4 游戏高级编程
2013-1
清华大学出版社
[美] Vladimir Silva
243
402000
无
《Android 4f#戏高级编程(第2版)》将帮助你充分利用最新的Android SDK
4.0的强大功能,构建更加成熟、令人着迷的游戏应用。最重要的是,本书向你展示了如何将类似Doom、Quake
I和I1这样的原生PC游戏以最少的精力移植到最新的Android平台。
将本书作为你值得信赖的指南,你将会发现一些能极大提高Android游戏应用开发技能的方式。通过创建渲染二十面体的Android项目,你会看到如何使用OpenGL
ES
2.0产生高效的图形。同时你还将学习如何使用更好的字体、新的用户界面和体验(UI/UX)API、多点触摸功能、多任务,并得到更快的性能。只需要跟随每一章可操作的源代码和来自真实世界的示例,你将善于:
· 结合Java优雅的面向对象功能和C的原始动力。
· 掌握一系列专业和高级的技术,比如混合使用OpenGL、OpenGL ES和JNI的3D图形技术。
·
移植和完善2D射击游戏,构建类~Quake的3D射击游戏。如果想迅速提升自己开发Android高端游戏的技能,本书将是你的最佳选择。
Vladimir
Silva出生于厄瓜多尔基多。他在1994年获得厄瓜多尔军队理工学院系统分析师学位。同年,他作为交换生来到美国,在田纳西州州立大学攻读计算机科学硕士学位。毕业后,他加入了IBM
WebAhead实验室。他的兴趣包括网格计算、神经网络和人工智能。他还拥有许多IT认证,包括Oracle认证专家(Oracle
Certified Professional,OCP).微软认证解决方案开发专家(Microsoft Certified
Solution Developer,MCSD)和微软认证专家(Microsoft Certified
Professional,MCP)。他在IBM developerWorks社区编写了大量关于安全和网格计算方面的技术文章。
第1章 欢迎来到Android世界
1.1配置开发机
1.2下载并安装SDK
1.3配置Eclipse
1.4安装原生开发工具包
1.4.1安装NDK
1.4.2安装Cygwin
1.5创建Android模拟器
1.6配置真实设备
1.7本章小结
第2章 针对手机或平板电脑的游戏技巧
2.1在Android中编译原生代码
2.1.1创建支持原生代码的Android项目
2.1.2应用程序的体系结构
2.2编译共享库
2.3调试模拟器
2.4Java对C/C++事件处理的封装
2.4.1独立处理音频
2.4.2级联视频事件
2.5多点触摸
2.5.1MultiTouchGesture
2.5.2Multi工c.uchScreen
2.53TestActivity
2.6蓝牙控制器(Zeemote)
2.7本章小结
第3章 更多OpenGL与JNI游戏技巧
3.1移动设备的动力
3.2Java方式的OpenGL
3.2.1创建项目
3.2.2Java版本的主Activity
3.2.3surface视图
3.2.4GL线程
3.2.5立方体渲染器
3.2.6Cube类
3.3原生方式的OpenGL
3.3.1主Activity
3.3.2原生接口类
3.3.3修改原示例
3.3.4原生立方体渲染器
3.3.5原生立方体类
3.3.6编译和运行示例
3.4通过OpenGLES混合模式缩放视频缓沖区
3.4.1为什么使用混合缩放
3.4.2初始化surface
3.4.3绘制到纹理
3.4.4当图像的尺寸不是2的幂时会发生什么
3.5本章小结
第4章 OpenGLES2.0的高效图形
4.10penGLES2.0与Android
4.1.1着色器
4.1.2GLSL
4.1.3剖析着色器
……
第5章 3D射击游戏:Doom
第6章 3D射击游戏:Quake
第7章 3D射击游戏:QuakeII
附录 部署和编译技巧
版权页: 插图: 第2章介绍的一些针对Android的基本游戏开发技术为我们提供了非常重要的引导,包括处理音频/视频、I/O事件和蓝牙控制器。现在,我们将进行更深入的学习。 在本章中,你将学习在Java和C中混合OpenGL代码这一绝技。这是在Java代码中重用大量OpenGL C代码的关键一步,即使用每种语言的最佳特性,以便最大限度地节约时间和成本。 每个游戏开发人员都知道OpenGL是高级游戏开发的灵魂。你不可能找到任何一款没有使用该API编写的强大游戏,因为它有硬件加速的优势,这比任何一种软件渲染器都完美。 对于新手来说,OpenGL的复杂性可能会让你望而却步。但你不必作为OpenGL专家去理解它做了什么以及这些API是如何绘制元素的。你需要学习的仅仅是一个用于游戏开发的强大工具而已。 本章的目标并不是要教你学习OpenGL(一整本书也讲不完),而是向你展示如何利用Google提供的Android OpenGL示例,并以完全不同的方式修改它,通过在Java和原生C这两种语言之间混合调用OpenGLAPI,以便最大限度地重用原生C代码。 也许有人会说,这只不过是针对移动设备的另一个OpenGL章节(毫无价值,对吗?)。当然不是,本章所介绍的OpenGL技术在Android中是独一无二的,并且在编写本书时,整个互联网上都没有任何适用于Android领域的相关资料。这是我在思考移植Quake游戏到Android时偶然想到的一种技术。简而言之,该技术由在Java中创建OpenGL上下文、显示屏和Surface对象,并在原生C中执行所有绘制操作两部分组成。在渲染周期结束时,C引擎将通过一个JNI回调告诉Java端交换缓冲区(渲染图像),然后重复该周期。当你拥有像Quake一样有200000行的代码需要重用时,这种技术就会非常有用,因为用Java重写这些代码几乎不可能(本章的3.3节和本书的第5章将会详细介绍并解释该技术)。 本章将以一个OpenGL翻转立方体例子开始,进而分析OpenGL如何在Java中运作。 接着,我们将关注如何在原生层实现渲染过程,以及JNI如何绑定每个模块。最后一节将讨论OpenGL嵌入式系统(OpenGL Embedded System,OpenGL Es)运用在高级3D游戏中的一些局限性。和第2章一样,本章讨论的内容同样兼容Android 4。 让我们开始吧。
无
可以学习一下,比国内人士写的一些书强
首先,纸质不错,是那种轻质护眼的。里面讲的NDK也是我想要了解的。
这一套三本,觉得还是入门那本讲得更好些。这本在GPU上启发不少。
这本书涉及底层太多了。。初学者根本看不懂
纸质很差啊,这个花钱不值,还没看呢
书真的很一般,内容不是很多~
内容非常深入,不仅要会java,还得会c/c++,否则根本看不懂。内容主要是针对专业人士,业余爱好者和初学者最好不要购买。
没有什么有营养的内容。还不如直接看android的官方示例。