PageRenderTime 2075ms CodeModel.GetById 337ms app.highlight 1711ms RepoModel.GetById 8ms app.codeStats 0ms

/src/MinkoExampleApplication.as

https://bitbucket.org/HopeSky/mars_nd2d
ActionScript | 89 lines | 72 code | 17 blank | 0 comment | 1 complexity | 6aa6d4d81de69df0544faad9eb755e2c MD5 | raw file
 1package
 2{
 3	import aerys.minko.render.Viewport;
 4	import aerys.minko.scene.controller.camera.ArcBallController;
 5	import aerys.minko.scene.node.Scene;
 6	import aerys.minko.scene.node.camera.Camera;
 7	import aerys.monitor.Monitor;
 8	
 9	import flash.display.Sprite;
10	import flash.events.Event;
11	import flash.geom.Point;
12	
13	public class MinkoExampleApplication extends Sprite
14	{
15		private var _viewport			: Viewport			= new Viewport();
16		private var _camera				: Camera			= null;
17		private var _cameraController	: ArcBallController	= null;
18		
19		private var _scene				: Scene				= new Scene();
20		
21		private var _cursor				: Point				= new Point();
22		
23		protected function get viewport() : Viewport
24		{
25			return _viewport;
26		}
27		
28		protected function get camera() : Camera
29		{
30			return _camera;
31		}
32		
33		protected function get cameraController() : ArcBallController
34		{
35			return _cameraController;
36		}
37		
38		protected function get scene() : Scene
39		{
40			return _scene;
41		}
42		
43		public function MinkoExampleApplication()
44		{
45			if (stage)
46				initialize();
47			else
48				addEventListener(Event.ADDED_TO_STAGE, initialize);
49		}
50		
51		private function initialize(event : Event = null) : void
52		{
53			removeEventListener(Event.ADDED_TO_STAGE, initialize);
54
55			stage.addChildAt(_viewport, 0);
56			_viewport.backgroundColor = 0x666666ff;
57			
58			initializeScene();
59			initializeUI();
60			
61			stage.frameRate = 60;
62			stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
63		}
64		
65		protected function initializeScene() : void
66		{
67			_camera = new Camera();
68			_cameraController = new ArcBallController();
69			_cameraController.bindDefaultControls(stage);
70			_cameraController.minDistance = 1;
71			_cameraController.yaw = Math.PI * -.5;
72			_cameraController.pitch = Math.PI / 2;
73			_cameraController.distance = 5;
74			camera.addController(_cameraController);
75			
76			_scene.addChild(camera);
77		}
78		
79		protected function initializeUI() : void
80		{
81			stage.addChild(Monitor.monitor.watch(_scene, ['numDescendants', 'numTriangles', 'numPasses']));
82		}
83		
84		protected function enterFrameHandler(event : Event) : void
85		{
86			_scene.render(_viewport);
87		}
88	}
89}