package {
import flash.events.Event;
import org.papervision3d.objects.primitives.Cube;
import org.papervision3d.materials.ColorMaterial;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.view.BasicView;
public class CubeExample extends BasicView {
private var cube:Cube;
private var materialsList:MaterialsList;
public function CubeExample() {
/* super.BasicView(width=640,height=480,scaleToStage(是否让viewPort3D视窗为舞台大小));
当想改变大小时可以用它
*/
/*
* @ author :夜梦惊魂
*/
stage.frameRate=40;
//初始化materialsList对象
materialsList = new MaterialsList();
// materialsList.material.doubleSided=true; 在cone cylinder sphere用 .material,doubleSided=true 使前后两面都显示
//为各个面增加材料material .
init();
//下面只需定义3D对象, 在将其add到scene中
cube=new Cube(materialsList,500,500,500,12,8);
scene.addChild(cube);
startRendering();//创建secne3D basicRenderEngine viewPort3D camera3D
}
// 重写 onRenderTick 及其 调用父类onRenderTick ;
override protected function onRenderTick(e:Event=null):void {
cube.localRotationY+=1;//旋转轴
cube.localRotationX+=1;//旋转轴
cube.localRotationZ+=2;//旋转轴
super.onRenderTick();//开始渲染
}
private function init():void {
var red1:ColorMaterial=new ColorMaterial(0xFF0000);
var red2:ColorMaterial=new ColorMaterial(0xFF99CC);
var green1:ColorMaterial=new ColorMaterial(0x00FF00);
var green2:ColorMaterial=new ColorMaterial(0x99CCFF);
var blue1:ColorMaterial=new ColorMaterial(0x0000FF);
var blue2:ColorMaterial=new ColorMaterial(0x6666FF);
materialsList.addMaterial(red1,"front");
materialsList.addMaterial(red2,"back");
materialsList.addMaterial(green1,"left");
materialsList.addMaterial(green2,"right");
materialsList.addMaterial(blue1,"top");
materialsList.addMaterial(blue2,"bottom");
}
}
}
用前面的模板创建Cube
最新推荐文章于 2022-05-11 21:20:11 发布