/src/MinkoExampleApplication.as

https://bitbucket.org/HopeSky/mars_nd2d · ActionScript · 89 lines · 72 code · 17 blank · 0 comment · 1 complexity · 6aa6d4d81de69df0544faad9eb755e2c MD5 · raw file

  1. package
  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. import flash.display.Sprite;
  9. import flash.events.Event;
  10. import flash.geom.Point;
  11. public class MinkoExampleApplication extends Sprite
  12. {
  13. private var _viewport : Viewport = new Viewport();
  14. private var _camera : Camera = null;
  15. private var _cameraController : ArcBallController = null;
  16. private var _scene : Scene = new Scene();
  17. private var _cursor : Point = new Point();
  18. protected function get viewport() : Viewport
  19. {
  20. return _viewport;
  21. }
  22. protected function get camera() : Camera
  23. {
  24. return _camera;
  25. }
  26. protected function get cameraController() : ArcBallController
  27. {
  28. return _cameraController;
  29. }
  30. protected function get scene() : Scene
  31. {
  32. return _scene;
  33. }
  34. public function MinkoExampleApplication()
  35. {
  36. if (stage)
  37. initialize();
  38. else
  39. addEventListener(Event.ADDED_TO_STAGE, initialize);
  40. }
  41. private function initialize(event : Event = null) : void
  42. {
  43. removeEventListener(Event.ADDED_TO_STAGE, initialize);
  44. stage.addChildAt(_viewport, 0);
  45. _viewport.backgroundColor = 0x666666ff;
  46. initializeScene();
  47. initializeUI();
  48. stage.frameRate = 60;
  49. stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
  50. }
  51. protected function initializeScene() : void
  52. {
  53. _camera = new Camera();
  54. _cameraController = new ArcBallController();
  55. _cameraController.bindDefaultControls(stage);
  56. _cameraController.minDistance = 1;
  57. _cameraController.yaw = Math.PI * -.5;
  58. _cameraController.pitch = Math.PI / 2;
  59. _cameraController.distance = 5;
  60. camera.addController(_cameraController);
  61. _scene.addChild(camera);
  62. }
  63. protected function initializeUI() : void
  64. {
  65. stage.addChild(Monitor.monitor.watch(_scene, ['numDescendants', 'numTriangles', 'numPasses']));
  66. }
  67. protected function enterFrameHandler(event : Event) : void
  68. {
  69. _scene.render(_viewport);
  70. }
  71. }
  72. }