欢迎来到天天文库
浏览记录
ID:3913623
大小:472.78 KB
页数:37页
时间:2017-11-25
《android+3d+游戏开发教程(eoeandroid社区制作)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、http://www.eoeandroid.com/eoeandroid社区制作Android3D游戏开发教程–PartI-VI这几篇Android3D游戏开发的文章原文出自一位德国人Martin在droidnova.com写的文章,有lixinso翻译为中文。第一部分首先介绍OpenGL相关的术语,并引导你开始3D开发的第一步。这个关于3D游戏的系列的叫做Vortex.这个教程主要focus在3D编程上,其他的东西比如菜单和程序生命周期虽然是代码的一部分,但是在这里不会被提到。首先开始介绍OpenGL的术语。顶点Vertex顶点是
2、3D空间中的一个点,也是许多对象的基础元素。在OpenGL中你可以生命少至二维坐标(X,Y),多至四维(X,Y,Z,W).w轴是可选的,默认的值是1.0.Z轴也是可选的,默认为0.在这个系列中,我们将要用到3个主要的坐标X,Y,Z,因为W一般都是被用来作为占位符。vertex的复数是vertices(这对非英语母语的人来说比较重要,因为这容易产生歧义)。所有的对象都是用vertices作为它们的点,因为点就是vertex。三角形Triangle三角形需要三个点才能创建。因此在OpenGL中,我们使用3个顶点来创建一个三角形。多边形P
3、olygon多边形是至少有3个连接着的点组成的一个对象。三角形也是一个多边形。图元Primitives一个Primitive是一个三维的对象,使用三角形或者多边形创建。形象的说,一个有50000个顶点的非常精细的模型是一个Primitive,同样一个只有500个顶点的低模也叫做一个Primitive。现在我们可以开始变成了。创建一个工程交Vortex,activity也是这个名字。我们的工程应该大概是这个样子的:packagecom.droidnova.android.games.vortex;importandroid.app.A
4、ctivity;importandroid.os.Bundle;publicclassVortexextendsActivity{privatestaticfinalStringLOG_TAG=Vortex.class.getSimpleName();privateVortexView_vortexView;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);_vortexView=newVortexV
5、iew(this);setContentView(_vortexView);}}复制代码http://www.eoeandroid.com/http://www.eoeandroid.com/eoeandroid社区制作如上图所示,我们已经添加了View。让我们看一下VortexView类。packagecom.droidnova.android.games.vortex;importandroid.content.Context;importandroid.opengl.GLSurfaceView;publicclassVorte
6、xViewextendsGLSurfaceView{privatestaticfinalStringLOG_TAG=VortexView.class.getSimpleName();privateVortexRenderer_renderer;publicVortexView(Contextcontext){super(context);_renderer=newVortexRenderer();setRenderer(_renderer);}}复制代码如上所示,我们继承了GLSurfaceView是因为它会帮助我们画3D图像。接下
7、来看VortexRenderer类。一个Renderer包含画一帧所必需的所有东西。引用自这儿references。Renderer负责OpenGLcall来render一个帧。来看一下这个类:packagecom.droidnova.android.games.vortex;importjavax.microedition.khronos.egl.EGLConfig;importjavax.microedition.khronos.opengles.GL10;importandroid.opengl.GLSurfaceView;p
8、ublicclassVortexRendererimplementsGLSurfaceView.Renderer{privatestaticfinalStringLOG_TAG=VortexRenderer.class.getSimp
此文档下载收益归作者所有