====== Animation Control panel Tutorial ====== Sometimes you start working with model you need to have more interactive control over scene. That is what 'Control Panel' provides. Here we are going to show how to enable the panel. First, it has to be constructed and initialized during initial setup. So in addition to rendering engine and Cast3D setup, there is a new function 'setup Controls'. private function setup3DScene(): void { // intial setup for regdering engine Sandy3D this.setupSandy(); // intial setup for Cast3D this.setupCast3D(); // this function sets Control panel this.setupControls(); this.loadData(); this.addEventListener(Event.ENTER_FRAME, this.handleEnterFrame); } Initialization function looks like this: /** * Function setups visual animation control panel. */ public function setupControls(): void { cp = new ControlPanel(animator); this.stage.addChild(cp); } If want to see frame rate information you need to add few lines to ENTER_FRAME handler. /** * Handles the ENTER_FRAME event and updates the 3D scene. */ private function handleEnterFrame(event: Event): void { if (!this.loaded) return; var time:Number = getTimer(); // Update cast3D first this.animator.render(); // then render scene this.scene.render(); // Update Control panel stat data if (this.animator.source && cp) { var frame:int = this.animator.source.currentFrame; var kframe:int = this.animator.source.currentKeyFrame; cp.setCurrentFrame(kframe,frame); cp.setCurrentTime(animator.currentTime); cp.currentFps = 1000.0/(getTimer() - time); } } Later on when you are finished with debugging your model, you still can leave the panel in the code, just make it invisible. cp.visible = false; So, if done it right you should see something like these: ---- Complete source code of this [[samplesource|sample]].