This commit is contained in:
badlogic 2017-03-14 10:07:40 +01:00
parent a810a8d5c4
commit 60bbfce2fc
6 changed files with 37 additions and 8 deletions

View File

@ -29,6 +29,7 @@
*****************************************************************************/
package spine.examples {
import spine.animation.TrackEntry;
import flash.display.Sprite;
import spine.*;
@ -65,17 +66,23 @@ package spine.examples {
skeleton.x = 400;
skeleton.y = 560;
skeleton.state.onStart.add(function(trackIndex : int) : void {
trace(trackIndex + " fuu start: " + skeleton.state.getCurrent(trackIndex));
skeleton.state.onStart.add(function(entry : TrackEntry) : void {
trace(entry.trackIndex + " start: " + entry.animation.name);
});
skeleton.state.onEnd.add(function(trackIndex : int) : void {
trace(trackIndex + " end: " + skeleton.state.getCurrent(trackIndex));
skeleton.state.onInterrupt.add(function(entry : TrackEntry) : void {
trace(entry.trackIndex + " interrupt: " + entry.animation.name);
});
skeleton.state.onComplete.add(function(trackIndex : int, count : int) : void {
trace(trackIndex + " complete: " + skeleton.state.getCurrent(trackIndex) + ", " + count);
skeleton.state.onEnd.add(function(entry : TrackEntry) : void {
trace(entry.trackIndex + " end: " + entry.animation.name);
});
skeleton.state.onEvent.add(function(trackIndex : int, event : Event) : void {
trace(trackIndex + " event: " + skeleton.state.getCurrent(trackIndex) + ", " + event.data.name + ": " + event.intValue + ", " + event.floatValue + ", " + event.stringValue);
skeleton.state.onComplete.add(function(entry : TrackEntry) : void {
trace(entry.trackIndex + " complete: " + entry.animation.name);
});
skeleton.state.onDispose.add(function(entry : TrackEntry) : void {
trace(entry.trackIndex + " dispose: " + entry.animation.name);
});
skeleton.state.onEvent.add(function(entry : TrackEntry, event : Event) : void {
trace(entry.trackIndex + " event: " + entry.animation.name + ", " + event.data.name + ": " + event.intValue + ", " + event.floatValue + ", " + event.stringValue);
});
if (false) {

View File

@ -29,6 +29,7 @@
*****************************************************************************/
package spine.flash {
import flash.events.Event;
import spine.SkeletonData;
import spine.animation.AnimationState;
import spine.animation.AnimationStateData;
@ -40,6 +41,12 @@ package spine.flash {
super(skeletonData);
state = new AnimationState(stateData ? stateData : new AnimationStateData(skeletonData));
}
override protected function onRemove(e:Event):void{
state.clearListeners();
state.clearListenerNotifications();
super.onRemove(e);
}
override public function advanceTime(time : Number) : void {
state.update(time * timeScale);

View File

@ -60,6 +60,21 @@ package spine.flash {
_skeleton = new Skeleton(skeletonData);
_skeleton.updateWorldTransform();
addEventListener(Event.ADDED_TO_STAGE, onAdd);
addEventListener(Event.REMOVED_FROM_STAGE, onRemove);
}
protected function onRemove(e:Event) : void {
removeEventListener(Event.ENTER_FRAME, enterFrame);
}
public function clearListeners() {
removeEventListener(Event.ADDED_TO_STAGE, onAdd);
removeEventListener(Event.REMOVED_FROM_STAGE, onRemove);
}
protected function onAdd(event:Event) : void {
lastTime = getTimer();
enterFrame(null);
addEventListener(Event.ENTER_FRAME, enterFrame);
}