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