away3d显示Plane(基础 二)

我们直接说新增的代码。

下面定义了一个away3d自带的几何体plane也就是一个"板子"。

		var plane:PlaneGeometry = new PlaneGeometry(100,100);
		//定义一个plane,也就是一个平面对象
		var color:ColorMaterial = new ColorMaterial(0xffaacc);
		//定义一个彩色材质
		mesh = new Mesh(plane,color);
		//用网格包裹( Mesh也是容器可以直接把away3d里的显示对象加入显示)。
		mesh.rotationX = -90;
		//因为plane只有一面可见,初始化的时候摄像机是对着不可见的。
		view.scene.addChild(mesh);

 我们每次运行的代码运行完毕后,都是需要绘制到屏幕上去的。

		   view.render();
		   //刷新函数。     把东西绘制到屏幕

 

下面是完整的代码

package
{
	import away3d.containers.View3D;
	import away3d.entities.Mesh;
	import away3d.materials.ColorMaterial;
	import away3d.primitives.PlaneGeometry;
	
	import flash.display.Sprite;
	import flash.events.Event;
	
	public class Main extends Sprite
	{
		private var view:View3D;
		//兴建一个view3d的变量
		private var mesh:Mesh;
		public function Main()
		{
			initView();
			initPlane();
			
		}
		private function initView():void{
		 view = new View3D();
		 addChild(view);
		 //加入舞台显示
		addEventListener(Event.ENTER_FRAME,enterFrame);
		}
		private function initPlane():void{
		var plane:PlaneGeometry = new PlaneGeometry(100,100);
		//定义一个plane
		var color:ColorMaterial = new ColorMaterial(0xffaacc);
		//定义一个彩色材质
		mesh = new Mesh(plane,color);
		//用网格包裹
		mesh.rotationX = -90;
		//因为plane只有一面可见,初始化的时候摄像机是对着不可见的。
		view.scene.addChild(mesh);
		//把网格加入view世界显示。
		}
		private function enterFrame(e:Event):void{
		   view.render();
		   //刷新函数。     把东西绘制到屏幕
		
		}
		
	}
}

 如果有兴趣的话,可以自己尝试在view.render();加一句代码,让plane转起来。

		private function enterFrame(e:Event):void{
		   view.render();
		   //刷新函数。     把东西绘制到屏幕
                   mesh.rotationX++;
		
		}

 

away3d还有很多内置的简单几何体, 都在away3d.primitives.路径下。

替换几何体只需要替换代码var plane:PlaneGeometry = new PlaneGeometry(100,100);

如: var cube:CubeGeometry = new CubeGeometry(100,100,100);

 

 

posted @ 2013-05-21 22:06  keng  阅读(503)  评论(0)    收藏  举报