新書推薦:
《
读书是一辈子的事(2024年新版)
》
售價:HK$
77.3
《
乐道文库·什么是秦汉史
》
售價:HK$
80.6
《
汉娜·阿伦特与以赛亚·伯林 : 自由、政治与人性
》
售價:HK$
109.8
《
女性与疯狂(女性主义里程碑式著作,全球售出300万册)
》
售價:HK$
109.8
《
药食同源中药鉴别图典
》
售價:HK$
67.0
《
设计中的比例密码:建筑与室内设计
》
售價:HK$
87.4
《
冯友兰和青年谈心系列:看似平淡的坚持
》
售價:HK$
55.8
《
汉字理论与汉字阐释概要 《说解汉字一百五十讲》作者李守奎新作
》
售價:HK$
76.2
|
編輯推薦: |
结合真实案例与源代码,Android游戏开发必备指南
|
內容簡介: |
《Android 4.1游戏高级编程第3版》一书将引导你制作经典的游戏,将向你展示将原
生PC游戏移植到Android平台是多么的简单。通过结合真实案例与源代码,本书将帮助你
详细理解所有概念并充分利用你的时间。
在本书的新版本中,你将学会如何利用Android平台强大的新功能和Android
NDK来建
立更加复杂的、令人痴迷的Android
游戏。NDK改进了原生CC++的集成,并使编码、编
译和转换更加高效。
|
關於作者: |
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
配置开发机 1
1.2
下载并安装SDK 2
1.3
配置Eclipse
2
1.4
安装原生开发工具包 6
1.4.1
安装NDK 6
1.4.2
安装Cygwin
6
1.5
创建Android模拟器 7
1.5.1
安装Android 4.1 7
1.5.2
创建AVD 8
1.6
配置真实设备
9
1.7
将源代码导入Eclipse
11
1.8
本章小结
12
第2章 针对手机或平板电脑的游戏技巧
13
2.1
在Android中编译原生代码
13
2.2
应用程序的体系结构 16
2.3
编译共享库 25
2.4
在设备上测试应用程序
26
2.5
Java对CC++事件处理的包装
28
2.5.1
独立处理音频 28
2.5.2
级联视频事件 33
2.6
多点触摸
38
2.6.1 MultiTouchGesture
38
2.6.2 MultiTouchScreen
40
2.6.3 TestActivity
41
2.7
本章小结
43
第3章 更多OpenGL与JNI游戏编程技巧
45
3.1
移动设备的能力 46
3.2
Java方式的OpenGL
47
3.2.1
创建项目 47
3.2.2
Java版本的主Activity
50
3.2.3
表面视图 51
3.2.4
GL线程
54
3.2.5
立方体渲染器 57
3.2.6
Cube类
60
3.3
原生方式的OpenGL
62
3.3.1
主Activity
64
3.3.2
原生接口类
65
3.3.3
修改原立方体示例 66
3.3.4
原生立方体渲染器 68
3.3.5
原生立方体类 73
3.3.6
编译和运行示例
75
3.4
通过OpenGL ES混合模式缩放视频缓冲区
77
3.4.1
为什么使用混合缩放
78
3.4.2
初始化表面
80
3.4.3
绘制到纹理中 81
3.4.4
当图像的大小不是2的次幂时会发生什么 83
3.5
本章小结
88
第4章 OpenGL ES
2.0的高效图形和可移植性
89
4.1
可移植性
89
4.1.1
处理直接模式 90
4.1.2
加载纹理 92
4.1.3
显示列表、服务器属性和其他
93
4.1.4
使用库包装
93
4.2
OpenGL ES 2.0的高效性
94
4.2.1
着色器
94
4.2.2 GLSL 95
4.2.3
剖析着色器
97
4.3
在Android中调用OpenGL ES
2.0
100
4.4
二十面体项目
100
4.4.1
定义形状 100
4.4.2
处理项目 102
4.4.3
原生二十面体 110
4.5
添加“滑动”和多点触摸的“捏”缩放功能 116
4.6
编译与运行 120
4.7
本章小结
120
第5章 3D射击游戏:Doom
121
5.1
组合使用JavaC,功能无极限 122
5.2
将Doom移植到移动设备
123
5.3
Doom游戏的体系结构
125
5.4
Java层的主Activity
126
5.4.1
创建处理程序 127
5.4.2
游戏布局 128
5.4.3
菜单和选择项处理程序 130
5.4.4
按键和触摸事件处理程序
131
5.4.5
原生回调处理程序 132
5.4.6
导航控件 136
5.5
独立处理音频格式
138
5.6
原生接口类 139
5.6.1
回调监听器
139
5.6.2
原生方法 139
5.6.3
C到Java的回调
140
5.7
原生层 143
5.7.1
原生方法的实现
143
5.7.2
对原始游戏进行修改
154
5.8
使用NDK编译Doom
160
5.9
在模拟器中测试Doom 162
5.10
本章小结
164
第6章 3D射击游戏:Quake
165
6.1
一些关于Quake的术语
165
6.2
代码重用的威力:Quake中的新代码少于500行
166
6.2.1
OpenGL不同于OpenGL
ES
166
6.2.2
软件渲染是否是合理解决方案
168
6.2.3
NanoGL:救助器
168
6.3
Android架构的Quake
173
6.3.1
Java OpenGL渲染器架构
174
6.3.2
独立处理音频格式 178
6.3.3
处理键盘事件 181
6.3.4
处理触摸事件 183
6.3.5
游戏的启动Activity
185
6.4
原生Quake引擎必需的改动
186
6.4.1
视频处理程序的改动
187
6.4.2
处理X轴旋转pitch和Y轴旋转yaw
189
6.4.3
处理前进和横向移动
190
6.4.4
音频处理程序的改动
190
6.4.5
修复游戏循环 193
6.5
在设备上运行Quake
195
6.6
本章小结
201
第7章 3D射击游戏:Quake II
203
7.1
代码回顾
203
7.2
逃离Java堆的束缚
204
7.3
让Quake II引擎在Android中工作 205
span style=
"FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; ms
|
|