Spring camera don't follow the object. Somebody help! Can't
understend. Here's code:

package{
        import away3d.cameras.*;
        import away3d.containers.Scene3D;
        import away3d.containers.View3D;
        import away3d.core.math.Number3D;
        import away3d.lights.*;
        import away3d.loaders.*;
        import away3d.materials.*;
        import away3d.primitives.*;

        import flash.display.Sprite;
        import flash.events.*;
        import flash.ui.Keyboard;

        [SWF(width="1024", height="768", frameRate="30",
backgroundColor="0xFAFAFA")]
        public class text extends Sprite{
                private var scene:Scene3D;
                private var cam:SpringCam;
                private var view:View3D;

                private var Cube01:Cube;
                private var Cylinder01:Cylinder;
                private var Sphere01:WireSphere;
                private var Plane01:Plane;

                private var lastKey:uint;
                private var keyIsDown:Boolean = false;

                public function text(){
                        scene=new Scene3D;

                        cam=new SpringCam();

                        view=new View3D({scene:scene, camera:cam,  
x:stage.stageWidth/2,
y:stage.stageHeight/2});
                        addChild(view);

                        Cube01=new Cube({height:10, width:10, depth:10, x:20, 
y:0, z:0});
                        view.scene.addChild(Cube01);

                        cam.mass = 10;
                        cam.damping = 10;
                        cam.stiffness = 4;
                        cam.y = 100;
                        cam.z = 100;
                        cam.target = Cube01;
                        cam.lookAt(Cube01.position);
                        cam.lookOffset = new Number3D(0,0, 0);
                        cam.positionOffset = new Number3D(0, -50, -40);

                        Plane01= new Plane({height:100, width:100, x:0, y:0, 
z:0});
                        view.scene.addChild(Plane01);

                        view.camera=cam;

                        view.render();

                        
this.stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDown);
                        this.stage.addEventListener(KeyboardEvent.KEY_UP,keyUp);
                        this.addEventListener(Event.ENTER_FRAME,onEnterFrame);
                }

                private function keyDown(e:KeyboardEvent):void
                {
                        lastKey = e.keyCode;
                        keyIsDown = true;
                }

                private function keyUp(e:KeyboardEvent):void
                {
                        keyIsDown = false;
                }

                private function onEnterFrame(e:Event):void
                {
                                if(keyIsDown){
                                        // if the key is still pressed, just 
keep on moving
                                        switch(lastKey){
                                                case Keyboard.UP        : 
Cube01.moveForward(10); break;
                                                case Keyboard.DOWN      : 
Cube01.moveBackward(10); break;
                                        }
                                }
                                // render the view
                                view.render();
                }
        }
}

Reply via email to