- package
- {
- import away3d.cameras.HoverCamera3D;
- import away3d.core.base.Mesh;
- import away3d.lights.AmbientLight3D;
- import away3d.lights.PointLight3D;
- import mx.core.Application;
- public class ApplicationManager extends BaseObject
- {
- protected var light:MeshObject = null;
- protected var light2:MeshObject = null;
- protected var totalTime:Number = 0;
- protected var hoverCamera:HoverCamera3D = null;
- public function ApplicationManager()
- {
- super();
- }
- public function startupApplicationManager(engineManager:EngineManager):ApplicationManager
- {
- super.startupBaseObject(engineManager);
- var lantern:Lantern = new Lantern();
- var mesh:Mesh = lantern.meshes[0];
- engineManager.MyResourceManager.startupResourceManagerEx(mesh);
- mesh.material = engineManager.MyResourceManager.LanternTex;
- mesh.y = -2.5;
- new MeshObject().startupObject3DMeshObject(engineManager, mesh);
- hoverCamera = new HoverCamera3D({focus:50, distance:1, mintiltangle:-90, target:mesh});
- engineManager.view.camera = hoverCamera;
- new MeshObject().startupObject3DMeshObject(engineManager, new AmbientLight3D({color: 0x100720}));
- light = new MeshObject().startupObject3DMeshObject(engineManager, new PointLight3D({color: 0x338055, debug: false}));
- light2 = new MeshObject().startupObject3DMeshObject(engineManager, new PointLight3D({color: 0xeb9134, debug: false}));
- light2.model.x = 2;
- return this;
- }
- public override function enterFrame(dt:Number):void
- {
- totalTime += dt;
- light.model.x = Math.sin(totalTime * Math.PI/2) * 10;
- light.model.z = Math.cos(totalTime * Math.PI/2) * 10;
- light2.model.y = Math.cos(totalTime * Math.PI/3) * 20;
- light2.model.z = Math.sin(totalTime * Math.PI/3) * 10;
- this.hoverCamera.targetpanangle = Application.application.sliderPanAngle.value;
- this.hoverCamera.targettiltangle = Application.application.sliderTiltAngle.value;
- hoverCamera.hover();
- }
- public override function shutdown():void
- {
- super.shutdown();
- }
- }
- }