package
{
import org.papervision3d.cameras.CameraType;
import org.papervision3d.core.animation.clip.AnimationClip3D;
import org.papervision3d.events.AnimationEvent;
import org.papervision3d.events.FileLoadEvent;
import org.papervision3d.objects.parsers.DAE;
import org.papervision3d.view.BasicView;
import flash.display.MovieClip;
import flash.events.*;
import flash.events.MouseEvent;
public class AnimationTest extends BasicView
{
public var dae :DAE;
public function AnimationTest()
{
super(0, 0, true, false, CameraType.FREE);
init();
}
private function init():void
{
this.stage.frameRate = 60;
this.camera.y = 40;
this.camera.z = 300;
//sin loop
//this.dae = new DAE(false);
//con loop
this.dae = new DAE(true,null,true);
this.scene.addChild(this.dae);
this.camera.lookAt(this.dae);
this.dae.addEventListener(FileLoadEvent.LOAD_COMPLETE, onModelLoaded);
this.dae.load("model/modelo.DAE");
this.dae.scale=0.3
uno.addEventListener(MouseEvent.MOUSE_DOWN,paso1);
dos.addEventListener(MouseEvent.MOUSE_DOWN,paso2);
}
private function paso1(e:Event):void {
trace("---1");
this.dae.play("open", true);
}
private function paso2(e:Event):void {
trace("---2");
this.dae.play("stop", true);
}
private function onModelLoaded(event:FileLoadEvent):void
{
// add some clips
/* */
this.dae.animation.addClip(new AnimationClip3D("open",0,0.5));
this.dae.animation.addClip(new AnimationClip3D("stop",0.5,1));
this.dae.animation.addClip(new AnimationClip3D("total",0,1.4));
// add some eventhandlers, see org.papervision3d.events.AnimationEvent
// this.dae.animation.addEventListener(AnimationEvent.NEXT_FRAME, onAnimationNextFrame);
// this.dae.animation.addEventListener(AnimationEvent.START, onAnimationStart);
// this.dae.animation.addEventListener(AnimationEvent.STOP, onAnimationStop);
// this.dae.animation.addEventListener(AnimationEvent.COMPLETE, onAnimationComplete);
startRendering();
this.dae.play("total", true);
}
/**
*
*/
private function onAnimationComplete(event:AnimationEvent):void
{
//trace("COMPLETE clip: " + event.clip + " time: " + event.time);
}
/**
*
*/
private function onAnimationStart(event:AnimationEvent):void
{
// trace("START clip: " + event.clip + " time: " + event.time);
}
/**
*
*/
private function onAnimationStop(event:AnimationEvent):void
{
// trace("STOP clip: " + event.clip + " time: " + event.time);
// this.dae.resume();
}
/**
*
*/
private function onAnimationNextFrame(event:AnimationEvent):void
{
// trace("NEXT FRAME clip: " + event.clip + " time: " + event.time);
}
}
}