diff --git a/SPD-classes/src/main/java/com/watabou/noosa/tweeners/Tweener.java b/SPD-classes/src/main/java/com/watabou/noosa/tweeners/Tweener.java index 30af46343..ae4945af1 100644 --- a/SPD-classes/src/main/java/com/watabou/noosa/tweeners/Tweener.java +++ b/SPD-classes/src/main/java/com/watabou/noosa/tweeners/Tweener.java @@ -44,6 +44,11 @@ abstract public class Tweener extends Gizmo { @Override public void update() { + if (elapsed < 0){ + onComplete(); + kill(); + return; + } elapsed += Game.elapsed; if (elapsed >= interval) { updateValues( 1 ); @@ -54,6 +59,10 @@ abstract public class Tweener extends Gizmo { } } + public void stop( boolean complete ){ + elapsed = complete ? interval : -1; + } + protected void onComplete() { if (listener != null) { listener.onComplete( this ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/CharSprite.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/CharSprite.java index 1559be9ce..dc66c873e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/CharSprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/CharSprite.java @@ -185,7 +185,7 @@ public class CharSprite extends MovieClip implements Tweener.Listener, MovieClip public void interruptMotion() { if (motion != null) { - onComplete( motion ); + motion.stop(false); } }