Skip to content

Commit

Permalink
[as3] Fixed event registration, see http://esotericsoftware.com/forum…
Browse files Browse the repository at this point in the history
  • Loading branch information
badlogic committed Mar 14, 2017
1 parent a810a8d commit 60bbfce
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 8 deletions.
Binary file modified spine-as3/spine-as3-example/lib/spine-as3.swc
Binary file not shown.
23 changes: 15 additions & 8 deletions spine-as3/spine-as3-example/src/spine/examples/Main.as
Expand Up @@ -29,6 +29,7 @@
*****************************************************************************/

package spine.examples {
import spine.animation.TrackEntry;
import flash.display.Sprite;

import spine.*;
Expand Down Expand Up @@ -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) {
Expand Down
7 changes: 7 additions & 0 deletions spine-as3/spine-as3/src/spine/flash/SkeletonAnimation.as
Expand Up @@ -29,6 +29,7 @@
*****************************************************************************/

package spine.flash {
import flash.events.Event;
import spine.SkeletonData;
import spine.animation.AnimationState;
import spine.animation.AnimationStateData;
Expand All @@ -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);
Expand Down
15 changes: 15 additions & 0 deletions spine-as3/spine-as3/src/spine/flash/SkeletonSprite.as
Expand Up @@ -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);
}

Expand Down
Binary file modified spine-starling/spine-starling-example/lib/spine-as3.swc
Binary file not shown.
Binary file modified spine-starling/spine-starling/lib/spine-as3.swc
Binary file not shown.

0 comments on commit 60bbfce

Please sign in to comment.