内容简介
第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.4 Java对C/C++事件处理的封装
2.4.1独立处理音频
2.4.2级联视频事件
2.5多点触摸
2.5.1 MultiTouchGesture
2.5.2 MultiTouchScreen
2.5.3 TestActivity
2.6蓝牙控制器(Zeemote)
2.7本章小结
第3章 更多OpenGL与JNI游戏技巧
3.1移动设备的动力
3.2 Java方式的OpenGL
3.2.1创建项目
3.2.2 Java版本的主Activity
3.2.3 surface视图
3.2.4 GL线程
3.2.5立方体渲染器
3.2.6 Cube类
3.3原生方式的OpenGL
3.3.1主Activity
3.3.2原生接口类
3.3.3修改原示例
3.3.4原生立方体渲染器
3.3.5原生立方体类
3.3.6编译和运行示例
3.4通过OpenGL ES混合模式缩放视频缓冲区
3.4.1为什么使用混合缩放
3.4.2初始化surface
3.4.3绘制到纹理
3.4.4当图像的尺寸不是2的幂时会发生什么
3.5本章小结
第4章OpenGL ES 2.0的高效图形
4.1 OpenGL ES 2.0与Android
4.1.1着色器
4.1.2 GLSL
4.1.3剖析着色器
4.2在Android中调用OpenGL ES 2.0
4.3二十面体项目
4.3.1定义形状
4.3.2处理项目
4.3.3原生二十面体
4.4添加“滑动”和多点触摸的“捏”缩放功能
4.5编译与运行
4.6本章小节
第5章3D射击游戏:Doom
5.1组合使用Java/C,功能无极限
5.2将Doom移植到移动设备
5.3 Doom游戏的体系结构
5.4 Java层的主Activity
5.4.1创建处理程序
5.4.2游戏布局
5.4.3菜单和选择项处理程序
5.4.4按键和触摸事件处理程序
5.4.5原生回调处理程序
5.4.6导航控件
5.5独立处理音频格式
5.6原生接口类
5.6.1回调监听器
5.6.2原生方法
5.6.3 C到Java的回调
5.7原生层
5.7.1原生方法的实现
5.7.2对原始游戏进行修改
5.8使用NDK编译Doom
5.9在模拟器中测试Doom
5.10本章小结
第6章3D射击游戏:Quake
6.1一些关于Quake的术语
6.2代码重用的威力:Quake中的新代码少于500行
6.3软件渲染是合理解决方案吗
6.4 Quake的Android架构
6.4.1 Java OpenGL渲染器架构
6.4.2独立处理音频格式
6.4.3处理键盘事件
6.4.4处理触摸事件
6.4.5游戏的启动Activity
6.5原生Quake引擎必需的改动
6.5.1视频处理程序的改动
6.5.2处理X轴旋转(pitch)和Y轴旋转(yaw)
6.5.3处理前进和横向运动
6.5.4音频处理程序的改动
6.5.5修复游戏循环
6.6在设备上运行Quake
6.7本章小结
第7章3D射击游戏:Quake Ⅱ
7.1代码回顾
7.2逃离Java堆的束缚
7.3让Quake Ⅱ引擎在Android中工作
7.3.1代码的可重用性
7.3.2当发生致命错误时如何处理
7.3.3 OpenGL立即模式问题
7.3.4视频处理程序
7.4使用NDK编译Quake Ⅱ
7.5在设备或模拟器中运行游戏
7.6 Quake Ⅱ在多种设备中的性能表现
7.7本章小结
附录 部署和编译技巧