package { /** * * Auteur: Vincent Helwig * Date: 25.09.2008 * Website: http://www.tsoin.com * Description: Alternativa3D - Intégration du moteur * **/ import alternativa.engine3d.controllers.CameraController; import alternativa.engine3d.core.Camera3D; import alternativa.engine3d.core.Object3D; import alternativa.engine3d.core.Scene3D; import alternativa.engine3d.display.View; import alternativa.utils.FPS; import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.Event; [SWF(backgroundColor="#000000", frameRate="100", width="600", height="400")] public class Alternativa3D_001 extends Sprite { private var scene:Scene3D; private var view:View; private var camera:Camera3D; private var cameraController:CameraController; public function Alternativa3D_001() { addEventListener(Event.ADDED_TO_STAGE, init); } public function init(e:Event): void { removeEventListener(Event.ADDED_TO_STAGE, init); stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; setupScene(); stage.addEventListener(Event.ENTER_FRAME, onEnterFrame); } private function setupScene():void { scene = new Scene3D(); scene.root = new Object3D(); camera = new Camera3D(); camera.x = 0; camera.y = 0; camera.z = -300; camera.zoom = 10; camera.fov = 1.5; scene.root.addChild(camera); view = new View(); view.width = 600; view.height = 400; addChild(view); view.camera = camera; cameraController = new CameraController(stage); cameraController.camera = camera; FPS.init(stage); } private function onEnterFrame(e:Event):void { cameraController.processInput(); scene.calculate(); } } }