package { import flash.display.*; import flash.events.*; import org.papervision3d.cameras.FreeCamera3D; import org.papervision3d.objects.*; import org.papervision3d.objects.parsers.Collada; import org.papervision3d.objects.parsers.DAE; import org.papervision3d.view.*; import org.papervision3d.render.BasicRenderEngine; import org.papervision3d.scenes.Scene3D; public class Main extends Sprite { private var viewport:Viewport3D; private var camera:FreeCamera3D; private var scene:Scene3D; private var renderer:BasicRenderEngine; private var colladaObj:Collada; //private var colladaObj:DAE; private var translateNum:Number = 30; public function Main() { stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; stage.quality = StageQuality.MEDIUM; init3D(); } private function init3D():void { viewport = new Viewport3D(640, 480, true, true); viewport.opaqueBackground = 0x000000; addChild(viewport); renderer = new BasicRenderEngine(); scene = new Scene3D(); camera = new FreeCamera3D(); camera.focus = 100; camera.zoom = 20; colladaObj = new Collada("box.dae"); //colladaObj = new DAE(); //colladaObj.load("box.dae"); colladaObj.z = 500; colladaObj.scale = 1; //colladaObj.scale = 100; scene.addChild(colladaObj); addEventListener(Event.ENTER_FRAME, handler); } private function handler(event:Event):void { if (colladaObj.z < 100 || colladaObj.z > 3000) { translateNum *= -1; } colladaObj.z += translateNum; colladaObj.rotationX += 3; colladaObj.rotationY += 3; renderer.renderScene(scene, camera, viewport); } } }