1. package
  2. {
  3. import away3dlite.cameras.HoverCamera3D;
  4. import away3dlite.cameras.TargetCamera3D;
  5. import away3dlite.containers.ObjectContainer3D;
  6. import away3dlite.core.base.Mesh;
  7. import away3dlite.core.utils.*;
  8. import away3dlite.loaders.*;
  9. import away3dlite.materials.*;
  10. import away3dlite.primitives.*;
  11. import away3dlite.templates.*;
  12.  
  13. import mx.core.Application;
  14.  
  15. public class ApplicationManager extends FastTemplate
  16. {
  17. [Embed(source="../media/model.3ds", mimeType="application/octet-stream")]
  18. protected static const Model:Class;
  19.  
  20. [Embed(source="../media/texture.jpg")]
  21. protected static const ModelTex:Class;
  22.  
  23. protected var mesh:Mesh = null;
  24. protected var hoverCamera:HoverCamera3D = null;
  25.  
  26. override protected function onInit():void
  27. {
  28. var parser:Max3DS = new Max3DS();
  29. var container:ObjectContainer3D = parser.parseGeometry(new Model()) as ObjectContainer3D;
  30. mesh = container.getChildAt(0) as Mesh;
  31.  
  32. var material:BitmapMaterial = new BitmapMaterial(Cast.bitmap(ModelTex));
  33. material.smooth = true;
  34. mesh.material = material;
  35.  
  36. mesh.rotationX = -90;
  37. mesh.rotationY = 180;
  38.  
  39. scene.addChild(mesh);
  40.  
  41. hoverCamera = new HoverCamera3D(10, 100, mesh, 1000);
  42. view.camera = hoverCamera;
  43. }
  44.  
  45. /**
  46. * @inheritDoc
  47. */
  48. override protected function onPreRender():void
  49. {
  50. hoverCamera.zoom = mx.core.Application.application.sliderZoom.value;
  51. hoverCamera.tiltAngle = mx.core.Application.application.sliderTilt.value;
  52. hoverCamera.panAngle = mx.core.Application.application.sliderPan.value;
  53. hoverCamera.hover();
  54. }
  55. }
  56. }