Hi Everyone,
I can't get AnimationEvent listeners to work. I'm using the ogre animation from Rob Bateman's superb FLARToolkit Away3D demonstration at "http://www.infiniteturtles.co.uk/blog/away3d-the-flartoolkit". I'm trying to run the various animations included in "ogre.md2" based on mouse interactions with the AR ogre. All the animations run fine, and the MouseEvent fires when you click on the mesh, but none of the AnimationEvent listeners fire. I'm using CS3 and updated from SVN today. I tried to trace back through the source but I got lost pretty quickly. I'm hoping I'm making some noob mistake that will be obvious to more experienced eyes: // ***begin code excerpt*** // // Load up the md2 at runtime: private function loadModel():void { modelURLRequest = new URLRequest(MODEL_PATH + "ogre.md2"); modelURLLoader = new URLLoader(); modelURLLoader.dataFormat = URLLoaderDataFormat.BINARY; modelURLLoader.addEventListener(Event.COMPLETE, onModelURLLoaderComplete); try { modelURLLoader.load(modelURLRequest); } catch (e:Error) { trace("Error loading document: ",e.message); } } // end of onMarkerURLLoaderComplete private function onModelURLLoaderComplete(e:Event):void { model = Md2.parse(modelURLLoader.data, {material:"blue#white"}) as Mesh model.scale(shapeDimensionASlider.value/3000); model.y = -1*model.minY*(shapeDimensionASlider.value/3000); model.addEventListener(MouseEvent3D.MOUSE_DOWN, onMouseDownNoMigration); model.addEventListener(AnimationEvent.SEQUENCE_DONE, onSequenceDone); model.addEventListener(AnimationEvent.SEQUENCE_UPDATE, onSequenceUpdate); model.addEventListener(AnimationEvent.CYCLE, onCycle); model.play(new AnimationSequence("stand",true,true,10)); // <---= loops fine // The following three traces show true: trace("SEQUENCE_DONE: ", model.hasEventListener(AnimationEvent.SEQUENCE_DONE)); trace("SEQUENCE_UPDATE: ", model.hasEventListener(AnimationEvent.SEQUENCE_UPDATE)); trace("CYCLE: ", model.hasEventListener(AnimationEvent.CYCLE)); } // end of onMarkerURLLoaderComplete private function onSequenceDone(e:AnimationEvent):void { trace("onSequenceDone"); // <---= Does not fire } // end of onSequenceDone private function onSequenceUpdate(e:AnimationEvent):void { trace("onSequenceUpdate"); // <---= Does not fire } // end of onSequenceUpdate private function onCycle(e:AnimationEvent):void { trace("onCycle"); // <---= Does not fire } // end of onCycle private function onMouseDownNoMigration(e:MouseEvent3D):void { trace("onMouseDown:"); // <---= Fires when you click on ogre } // end of onMouseDownNoMigration // ***end code excerpt*** // Thanks in advance, David Z
