1 / 41
文档名称:

Android 3D 游戏开发教程.doc

格式:doc   大小:398KB   页数:41页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

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

分享

预览

Android 3D 游戏开发教程.doc

上传人:坐水行舟 2019/6/16 文件大小:398 KB

下载得到文件列表

Android 3D 游戏开发教程.doc

文档介绍

文档介绍:Android3D游戏开发教程–PartI-VI本帖最后由huzht于2010-4-2507:写的文章,有lixinso翻译为中文。第一部分首先介绍OpenGL相关的术语,并引导你开始3D开发的第一步。,其他的东西比如菜单和程序生命周期虽然是代码的一部分,但是在这里不会被提到。首先开始介绍OpenGL的术语。    顶点Vertex顶点是3D空间中的一个点,也是许多对象的基础元素。在OpenGL中你可以生命少至二维坐标(X,Y),多至四维(X,Y,Z,W).w轴是可选的,,,我们将要用到3个主要的坐标X,Y,Z,因为W一般都是被用来作为占位符。vertex的复数是vertices(这对非英语母语的人来说比较重要,因为这容易产生歧义)。所有的对象都是用vertices作为它们的点,因为点就是vertex。三角形Triangle三角形需要三个点才能创建。因此在OpenGL中,我们使用3个顶点来创建一个三角形。多边形Polygon多边形是至少有3个连接着的点组成的一个对象。三角形也是一个多边形。图元Primitives一个Primitive是一个三维的对象,使用三角形或者多边形创建。形象的说,一个有50000个顶点的非常精细的模型是一个Primitive,同样一个只有500个顶点的低模也叫做一个Primitive。现在我们可以开始变成了。创建一个工程交Vortex,activity也是这个名字。我们的工程应该大概是这个样子的:package;import;import;lassVortexextendsActivity{  privatestaticfinalStringLOG_TAG=;  privateVortexView_vortexView;  ***@Override  protectedvoidonCreate(BundlesavedInstanceState){      (savedInstanceState);      _vortexView=newVortexView(this);      setContentView(_vortexView);  }}复制代码如上图所示,我们已经添加了View。让我们看一下VortexView类。package;import;import;lassVortexViewextendsGLSurfaceView{  privatestaticfinalStringLOG_TAG=;  privateVortexRenderer_renderer;  publicVortexView(Contextcontext){      super(context);      _renderer=newVortexRenderer();      setRenderer(_renderer);  }}复制代码如上所示,我们继承了GLSurfaceView是因为它会帮助我们画3D图像。接下来看VortexRenderer类。一个Renderer包含画一帧所必需的所有东西。引用自这儿references。Renderer负责OpenGLcall来render一个帧。来看一下这个类:package;import;import;import;{privatestaticfinalStringLOG_TAG=;privatefloat_red=;privatefloat_green=;privatefloat_blue=;***@OverridepublicvoidonSurfaceCreated(GL10gl,EGLConfigconfig){//Donothingspecial.}***@OverridepublicvoidonSurfaceChanged(GL10gl,intw,inth){(0,0,w,h);}***@OverridepublicvoidonDrawFrame(GL10gl){//hecolorwewanttobedisplayedasthe"clippingwall"(_red,_green,_blue,);//clearthecolorbuffertoshowtheClearColorwecalledabove...();}}复制代码好,我们做了什么?首先我们实现了GLSurfaceVi