1. package
  2. {
  3. import away3d.core.math.Number3D;
  4. import away3d.extrusions.Elevation;
  5. import away3d.extrusions.SkinExtrude;
  6.  
  7. public class ApplicationManager extends BaseObject
  8. {
  9. var mesh:MeshObject = null;
  10.  
  11. public function ApplicationManager()
  12. {
  13. super();
  14. }
  15.  
  16. public function startupApplicationManager(engineManager:EngineManager):ApplicationManager
  17. {
  18. super.startupBaseObject(engineManager);
  19.  
  20. var elevate:Elevation = new Elevation();
  21. var extrude:SkinExtrude = new SkinExtrude(
  22. elevate.generate(engineManager.MyResourceManager.HeightmapTex, "r", 20, 20, 2, 2, 1),
  23. {
  24. material:engineManager.MyResourceManager.TerrainTex,
  25. recenter:true,
  26. closepath:false,
  27. coverall:true,
  28. subdivision:1,
  29. bothsides:false,
  30. flip:false
  31. }
  32. );
  33. extrude.rotationX = 90;
  34.  
  35. mesh = new MeshObject().startupObject3DMeshObject(engineManager, extrude);
  36.  
  37. engineManager.cam.position = new Number3D(0, 750, 0);
  38. engineManager.cam.lookAt(new Number3D(1024, 0, 512), new Number3D(0, 1, 0));
  39.  
  40. return this;
  41. }
  42.  
  43. public override function shutdown():void
  44. {
  45. super.shutdown();
  46. }
  47.  
  48. public override function enterFrame(dt:Number):void
  49. {
  50. mesh.model.rotationY += 10 * dt;
  51. }
  52.  
  53. }
  54. }