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 );
}
}
}