您的位置:首页 > 其它

away3d显示Plane(基础 二)

2013-05-21 22:06 120 查看
我们直接说新增的代码。

下面定义了一个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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: