1 / 49
文档名称:

OPhone 3D 游戏开发.pdf

格式:pdf   页数:49页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

OPhone 3D 游戏开发.pdf

上传人:1520734578 2014/5/10 文件大小:0 KB

下载得到文件列表

OPhone 3D 游戏开发.pdf

文档介绍

文档介绍:第 6 章 6
OPhone 3D 游戏开发
本章将通过剖析一个完整的 3D 游戏开发案例,向读者介绍有关 OPhone 平台中 3D 游
戏开发所用到的相关技术,包括通用程序框架、3D 渲染流程、纹理对象操作、天空盒、公
告牌、模型渲染、骨骼动画、2D 菜单渲染、相机系统、碰撞检测、粒子系统以及有限状态
机等内容。通过本章的学****读者可以快速掌握 OPhone 平台 3D 游戏的开发流程。
OpenGL ES 程序开发框架
OPhone 平台提供了基于 OpenGL ES 的高性能 3D 渲染引擎。OpenGL ES 是免授权费的、
跨平台的、功能完善的 2D 和 3D 图形应用程序接口 API,它针对多种嵌入式系统专门设计,
由精心定义的桌面 OpenGL 子集组成,创造了软件与图形加速间灵活强大的底层交互接口。
由于 OpenGL 本身的跨平台性,在不同的操作系统中,其与底层视窗系统的结合都不
尽相同。比如,如何创建一个 OpenGL 的渲染视口,对于不同的系统来说可能会非常复杂。
EGL 作为沟通 OpenGL 与底层视窗系统的桥梁,为开发者提供了方便的定制 OpenGL 的接
口。OPhone 中所提供的 辅助类,进一步封装了 OpenGL ES
与底层视窗系统的交互,开发者可以很方便地进行创建 OpenGL ES 渲染窗口、重载按键触
屏事件响应、设置渲染模式、配置 EGL 参数等操作。由于 GLSurfaceView 是独立于系统 UI
线程之外运行的,因此在系统 UI 线程挂起或者恢复时,需要显式调用 GLSurfaceView 中的
onPause()或者 onResume()来通知底层 OpenGL ES 模块进行相应处理。下面的代码展示了
GLSurfaceView 的使用方法。
OPhone/Android 游戏开发与推广指南
public class MyGLSurfaceView extends GLSurfaceView {
public static MyGLSurfaceView instance;
/**
* 具体实现的渲染器
*/
private ZombieHunterRenderer mRenderer;

public MyGLSurfaceView(Context context) {
super(context);
instance = this;
//设置渲染器
mRenderer = new ZombieHunterRenderer(context);
setRenderer(mRenderer);
}

public void onPause() {
();
();
}

public void onResume() {
();
}

/**
* 响应触屏事件
*/
***@Override
public boolean onTouchEvent(MotionEvent e) {
return processSingleTouchEvent(e);
}

/**
* 响应按键事件
* ***@param event

168
第 6 章 OPhone 3D 游戏开发 6
* ***@return
*/
private boolean processSingleTouchEvent(MotionEvent event) {
int screenX = (int)();
int screenY = (int)();
switch (()) {
case :
(screenX, screenY);
break;
case :
(screenX, screenY);
break;
case :
(screenX, screenY);
break;
}
return true;
}