From a463f5515a1a8566977cc57b5a97482102e0098b Mon Sep 17 00:00:00 2001 From: Nehon Date: Mon, 26 Mar 2018 06:29:20 +0200 Subject: [PATCH] Negative speed now plays an animation backwards --- .../main/java/com/jme3/anim/tween/action/Action.java | 5 ++++- .../java/jme3test/model/anim/TestAnimMigration.java | 10 ++-------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/jme3-core/src/main/java/com/jme3/anim/tween/action/Action.java b/jme3-core/src/main/java/com/jme3/anim/tween/action/Action.java index 21d5bdc62..25379bf92 100644 --- a/jme3-core/src/main/java/com/jme3/anim/tween/action/Action.java +++ b/jme3-core/src/main/java/com/jme3/anim/tween/action/Action.java @@ -22,7 +22,10 @@ public abstract class Action implements Tween { @Override public boolean interpolate(double t) { - return subInterpolate(t * speed); + t = t * speed; + // make sure negative time is in [0, length] range + t = (t % length + length) % length; + return subInterpolate(t); } public abstract boolean subInterpolate(double t); diff --git a/jme3-examples/src/main/java/jme3test/model/anim/TestAnimMigration.java b/jme3-examples/src/main/java/jme3test/model/anim/TestAnimMigration.java index 9a3782676..cc90a6053 100644 --- a/jme3-examples/src/main/java/jme3test/model/anim/TestAnimMigration.java +++ b/jme3-examples/src/main/java/jme3test/model/anim/TestAnimMigration.java @@ -165,20 +165,14 @@ public class TestAnimMigration extends SimpleApplication { composer.actionSequence("Sequence", composer.makeAction("Walk"), composer.makeAction("Run"), - composer.makeAction("Jumping")).setSpeed(4); + composer.makeAction("Jumping")).setSpeed(2); action = composer.actionBlended("Blend", new LinearBlendSpace(1, 4), "Walk", "Run"); action.getBlendSpace().setValue(1); - composer.action("Walk").setSpeed(2); - -// composer.actionSequence("Sequence", -// composer.tweenFromClip("Walk"), -// composer.tweenFromClip("Dodge"), -// composer.tweenFromClip("push")); - + composer.action("Walk").setSpeed(-1); anims.addFirst("Sequence"); anims.addFirst("Blend");