I can't get my hover cam to move - the tilt and pan work, but not any
of the move functions. It's a very basic scene,  am I doing something
wrong here? Code is below. I'm using 2.4.0 from svn repo. Would really
appreciate any help, thanks!


package  {
        import away3d.cameras.Camera3D;
        import away3d.cameras.HoverCamera3D;
        import away3d.containers.Scene3D;
        import away3d.containers.View3D;
        import away3d.core.math.Number3D;
        import away3d.core.render.Renderer;
        import away3d.primitives.Cube;
        import away3d.primitives.RegularPolygon;
        import flash.events.*
        import flash.display.*;

        /**
        * ...
        * @author Zu
        */
        public class CamTest extends Sprite {
                protected var _view:View3D;
                protected var _scene:Scene3D;
                protected var _hoverCam:HoverCamera3D;

                public function CamTest() {
                        //listen for stage add/remove events
                        addEventListener( Event.ADDED_TO_STAGE, onStageAdd );
                        addEventListener( Event.REMOVED_FROM_STAGE, 
onStageRemove );

                        if (stage) init();
                        else addEventListener( Event.ADDED_TO_STAGE, init );
                }

                protected function onStageAdd(e:Event):void {
                }

                protected function onStageRemove(e:Event):void {
                }

                protected function init(e:Event = null):void {
                        removeEventListener( Event.ADDED_TO_STAGE, init );

                        _view = new View3D({
                                x:stage.stageWidth * .5, y:stage.stageHeight * 
.5,
                                renderer:Renderer.BASIC
                        });
                        addChild ( _view );
                        _scene = _view.scene;

                        _hoverCam = new HoverCamera3D ();
                        _hoverCam.focus = 50;
                        _hoverCam.distance = 1000;
                        _hoverCam.mintiltangle = 0;
                        _hoverCam.maxtiltangle = 90;

                        _hoverCam.targetpanangle = _hoverCam.panangle = 45;
                        _hoverCam.targettiltangle = _hoverCam.tiltangle = 20;
                        _view.camera = _hoverCam;

                        initObjects ();
                        startRendering ();

                        //
                        _hoverCam.moveForward ( 600 )
                        _hoverCam.moveDown ( 400 );
                }

                private function startRendering():void{
                        addEventListener (Event.ENTER_FRAME, tick );
                }

                private function tick (e:Event):void {
                        _hoverCam.hover ();
                        _view.render ();
                }

                private function initObjects():void{
                        var cube:Cube = new Cube ( { width: 400, height: 200, 
depth:
400 } );
                        cube.segmentsH = 4;
                        cube.segmentsW = 4;
                        _scene.addChild ( cube );

                        var floor:RegularPolygon = new RegularPolygon ();
                        floor.radius = 2000;
                        floor.sides = 10;
                        floor.subdivision = 10;
                        floor.y = -100;
                        floor.pushback = true;
                        _scene.addChild ( floor );
                }

        }

}

Reply via email to