Camera Animation

I'm making a CameraDolly class, much like the CameraAnimationController that someone posted, but it has a different API and other features like a sequencer.



Anyway, in all the code examples I've tried (HelloLOD, etc.) there's one big problem. At the end of the move, the camera no longer moves - using the cursor or WASD keys does not move the camera. 



So, first question - how do I resolve this problem?



Second question, is the following, taken from HelloLOD, the correct way to use a controller with a CameraNode?


// create the camnode
CameraNode camNode = new CameraNode("camNode",cam);

// create the controller, the spatial that is moved is camNode
CurveController cc = new CurveController(bc, camNode);

// Add the controller to the cam node even thou gh
// the controller has already been told to move the camNode???
camNode.addController(cc);

// attach camNode to the rootNode
rootNode.attachChild(camNode);

// Is this the correct procedure?



Finally, how should I clean up after the controller has been used? For example, in the HelloIntersection tutorial, the custom controller for the bullet has this bit of code in the update(float time) method

if (lifeTime < 0) {
    rootNode.detachChild(bullet);
    bullet.removeController(this);



but I haven't seen any cleanup like this in other examples.

Thanks!!!
Anyway, in all the code examples I've tried (HelloLOD, etc.) there's one big problem. At the end of the move, the camera no longer moves - using the cursor or WASD keys does not move the camera. 

So, first question - how do I resolve this problem?

So you want to be able to move the camera after the motion has finished? What you need is to create a FirstPersonHandler for your camera and attach it to an active InputHandler (If using SimpleGame, it's stored in a variable called "input"). Also you may have to detach the camera from the CameraNode or disable the camera animation controller as it may be setting the camera transform every frame.

Finally, how should I clean up after the controller has been used? For example, in the HelloIntersection tutorial, the custom controller for the bullet has this bit of code in the update(float time) method

but I haven't seen any cleanup like this in other examples.

The cleanup is not neccessary, as long as the examples demonstrate what they are supposed to.. Generally speaking, if you are done using a controller or a node, you should definately detach it from it's parent to allow it to be garbage collected and prevent it from causing side effects (like what I mentioned above about the camera controller).