/**
* ...
* @author lovedev (lovedev.tistory.com /asjs.net)
* @version 0.1
*/
package {
import flash.display.Sprite;
import org.papervision3d.cameras.Camera3D;
import org.papervision3d.materials.ColorMaterial;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.materials.WireframeMaterial;
import org.papervision3d.objects.primitives.Cone;
import org.papervision3d.objects.primitives.Sphere;
import flash.events.Event;
import org.papervision3d.objects.primitives.Cube;
import org.papervision3d.objects.primitives.Cylinder;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.render.BasicRenderEngine;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.view.Viewport3D;
public class test extends Sprite{
private var renderer:BasicRenderEngine;
private var camera:Camera3D;
private var scene:Scene3D;
private var viewport:Viewport3D;
private var cube:Cube;
private var sphere:Sphere;
private var cylinder:Cylinder;
private var cone:Cone;
private var plane:Plane;
public function test() {
viewport = new Viewport3D(550, 400, false, false);
addChild(viewport);
camera = new Camera3D();
camera.z = -700;
//camera.y = 300;
//camera.x = 100;
camera.zoom = 1;
camera.focus = 200;
this.addEventListener(Event.ENTER_FRAME, rendframe);
var meteral:ColorMaterial = new ColorMaterial(0xff0000, 1);
meteral.doubleSided = true;
plane = new Plane(meteral, 300, 300);
var meteral2:WireframeMaterial = new WireframeMaterial(0xff0000, 1,1);
cone = new Cone(meteral2, 100, 300);
cone.x = 400;
cone.y = 50;
cylinder = new Cylinder(meteral2,100,300,10,10);
cylinder.x = -500;
cylinder.z = 100;
sphere = new Sphere(meteral2);
sphere.x = 100;
sphere.z = 400;
sphere.y = 200;
var materiallist:MaterialsList = new MaterialsList({all:meteral2});
cube = new Cube(materiallist, 100, 100, 100);
cube.z = -400;
scene = new Scene3D();
scene.addChild(plane);
scene.addChild(cone);
scene.addChild(cylinder);
scene.addChild(sphere);
scene.addChild(cube);
renderer = new BasicRenderEngine();
}
private function rendframe(evt:Event):void {
camera.moveLeft(10);
cube.rotationX += 3;
cube.rotationY += 3;
sphere.rotationX += 3;
sphere.rotationY += 3;
cylinder.rotationX += 3;
cylinder.rotationY += 3;
cylinder.rotationZ += 3;
cone.rotationX += 3;
cone.rotationY += 3;
renderer.renderScene(scene, camera, viewport);
}
}
}
댓글을 달아 주세요