com.badlogic.gdx.graphics.g3d.utils
Class AnimationController

java.lang.Object
  extended by com.badlogic.gdx.graphics.g3d.utils.BaseAnimationController
      extended by com.badlogic.gdx.graphics.g3d.utils.AnimationController

public class AnimationController
extends BaseAnimationController

Class to control one or more Animations on a ModelInstance. Use the setAnimation(String, int, float, AnimationListener) method to change the current animation. Use the animate(String, int, float, AnimationListener, float) method to start an animation, optionally blending onto the current animation. Use the queue(String, int, float, AnimationListener, float) method to queue an animation to be played when the current animation is finished. Use the action(String, int, float, AnimationListener, float) method to play a (short) animation on top of the current animation. You can use multiple AnimationControllers on the same ModelInstance, as long as they don't interfere with each other (don't affect the same Nodes).

Author:
Xoppa

Nested Class Summary
static class AnimationController.AnimationDesc
          Class describing how to play and Animation.
static interface AnimationController.AnimationListener
          Listener that will be informed when an animation is looped or completed.
 
Nested classes/interfaces inherited from class com.badlogic.gdx.graphics.g3d.utils.BaseAnimationController
BaseAnimationController.Transform
 
Field Summary
 AnimationController.AnimationDesc current
          The animation currently playing.
 boolean inAction
          Whether an action is being performed.
 AnimationController.AnimationDesc previous
          The animation which previously played.
 AnimationController.AnimationDesc queued
          The animation queued to be played when the current animation is completed.
 float queuedTransitionTime
          The transition time which should be applied to the queued animation.
 float transitionCurrentTime
          The current transition time.
 float transitionTargetTime
          The target transition time.
 
Fields inherited from class com.badlogic.gdx.graphics.g3d.utils.BaseAnimationController
target
 
Constructor Summary
AnimationController(ModelInstance target)
          Construct a new AnimationController.
 
Method Summary
 AnimationController.AnimationDesc action(String id, int loopCount, float speed, AnimationController.AnimationListener listener, float transitionTime)
          Apply an action animation on top of the current animation.
 AnimationController.AnimationDesc animate(String id, AnimationController.AnimationListener listener, float transitionTime)
          Changes the current animation by blending the new on top of the old during the transition time.
 AnimationController.AnimationDesc animate(String id, float transitionTime)
          Changes the current animation by blending the new on top of the old during the transition time.
 AnimationController.AnimationDesc animate(String id, int loopCount, AnimationController.AnimationListener listener, float transitionTime)
          Changes the current animation by blending the new on top of the old during the transition time.
 AnimationController.AnimationDesc animate(String id, int loopCount, float speed, AnimationController.AnimationListener listener, float transitionTime)
          Changes the current animation by blending the new on top of the old during the transition time.
 AnimationController.AnimationDesc queue(String id, int loopCount, float speed, AnimationController.AnimationListener listener, float transitionTime)
          Queue an animation to be applied when the current animation is finished.
 AnimationController.AnimationDesc setAnimation(String id)
          Set the active animation, replacing any current animation.
 AnimationController.AnimationDesc setAnimation(String id, AnimationController.AnimationListener listener)
          Set the active animation, replacing any current animation.
 AnimationController.AnimationDesc setAnimation(String id, int loopCount)
          Set the active animation, replacing any current animation.
 AnimationController.AnimationDesc setAnimation(String id, int loopCount, AnimationController.AnimationListener listener)
          Set the active animation, replacing any current animation.
 AnimationController.AnimationDesc setAnimation(String id, int loopCount, float speed, AnimationController.AnimationListener listener)
          Set the active animation, replacing any current animation.
 void update(float delta)
          Update any animations currently being played.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

current

public AnimationController.AnimationDesc current
The animation currently playing. Do not alter this value.


queued

public AnimationController.AnimationDesc queued
The animation queued to be played when the current animation is completed. Do not alter this value.


queuedTransitionTime

public float queuedTransitionTime
The transition time which should be applied to the queued animation. Do not alter this value.


previous

public AnimationController.AnimationDesc previous
The animation which previously played. Do not alter this value.


transitionCurrentTime

public float transitionCurrentTime
The current transition time. Do not alter this value.


transitionTargetTime

public float transitionTargetTime
The target transition time. Do not alter this value.


inAction

public boolean inAction
Whether an action is being performed. Do not alter this value.

Constructor Detail

AnimationController

public AnimationController(ModelInstance target)
Construct a new AnimationController.

Parameters:
target - The ModelInstance on which the animations will be performed.
Method Detail

update

public void update(float delta)
Update any animations currently being played.

Parameters:
delta - The time elapsed since last update, change this to alter the overall speed (can be negative).

setAnimation

public AnimationController.AnimationDesc setAnimation(String id)
Set the active animation, replacing any current animation.

Parameters:
id - The ID of the Animation within the ModelInstance.
Returns:
The AnimationController.AnimationDesc which can be read to get the progress of the animation. Will be invalid when the animation is completed.

setAnimation

public AnimationController.AnimationDesc setAnimation(String id,
                                                      int loopCount)
Set the active animation, replacing any current animation.

Parameters:
id - The ID of the Animation within the ModelInstance.
loopCount - The number of times to loop the animation, zero to play the animation only once, negative to continuously loop the animation.
Returns:
The AnimationController.AnimationDesc which can be read to get the progress of the animation. Will be invalid when the animation is completed.

setAnimation

public AnimationController.AnimationDesc setAnimation(String id,
                                                      AnimationController.AnimationListener listener)
Set the active animation, replacing any current animation.

Parameters:
id - The ID of the Animation within the ModelInstance.
listener - The AnimationController.AnimationListener which will be informed when the animation is looped or completed.
Returns:
The AnimationController.AnimationDesc which can be read to get the progress of the animation. Will be invalid when the animation is completed.

setAnimation

public AnimationController.AnimationDesc setAnimation(String id,
                                                      int loopCount,
                                                      AnimationController.AnimationListener listener)
Set the active animation, replacing any current animation.

Parameters:
id - The ID of the Animation within the ModelInstance.
loopCount - The number of times to loop the animation, zero to play the animation only once, negative to continuously loop the animation.
listener - The AnimationController.AnimationListener which will be informed when the animation is looped or completed.
Returns:
The AnimationController.AnimationDesc which can be read to get the progress of the animation. Will be invalid when the animation is completed.

setAnimation

public AnimationController.AnimationDesc setAnimation(String id,
                                                      int loopCount,
                                                      float speed,
                                                      AnimationController.AnimationListener listener)
Set the active animation, replacing any current animation.

Parameters:
id - The ID of the Animation within the ModelInstance.
loopCount - The number of times to loop the animation, zero to play the animation only once, negative to continuously loop the animation.
speed - The speed at which the animation should be played. Default is 1.0f. A value of 2.0f will play the animation at twice the normal speed, a value of 0.5f will play the animation at half the normal speed, etc. This value can be negative, causing the animation to played in reverse. This value cannot be zero.
listener - The AnimationController.AnimationListener which will be informed when the animation is looped or completed.
Returns:
The AnimationController.AnimationDesc which can be read to get the progress of the animation. Will be invalid when the animation is completed.

animate

public AnimationController.AnimationDesc animate(String id,
                                                 float transitionTime)
Changes the current animation by blending the new on top of the old during the transition time.

Parameters:
id - The ID of the Animation within the ModelInstance.
transitionTime - The time to transition the new animation on top of the currently playing animation (if any).
Returns:
The AnimationController.AnimationDesc which can be read to get the progress of the animation. Will be invalid when the animation is completed.

animate

public AnimationController.AnimationDesc animate(String id,
                                                 AnimationController.AnimationListener listener,
                                                 float transitionTime)
Changes the current animation by blending the new on top of the old during the transition time.

Parameters:
id - The ID of the Animation within the ModelInstance.
listener - The AnimationController.AnimationListener which will be informed when the animation is looped or completed.
transitionTime - The time to transition the new animation on top of the currently playing animation (if any).
Returns:
The AnimationController.AnimationDesc which can be read to get the progress of the animation. Will be invalid when the animation is completed.

animate

public AnimationController.AnimationDesc animate(String id,
                                                 int loopCount,
                                                 AnimationController.AnimationListener listener,
                                                 float transitionTime)
Changes the current animation by blending the new on top of the old during the transition time.

Parameters:
id - The ID of the Animation within the ModelInstance.
loopCount - The number of times to loop the animation, zero to play the animation only once, negative to continuously loop the animation.
listener - The AnimationController.AnimationListener which will be informed when the animation is looped or completed.
transitionTime - The time to transition the new animation on top of the currently playing animation (if any).
Returns:
The AnimationController.AnimationDesc which can be read to get the progress of the animation. Will be invalid when the animation is completed.

animate

public AnimationController.AnimationDesc animate(String id,
                                                 int loopCount,
                                                 float speed,
                                                 AnimationController.AnimationListener listener,
                                                 float transitionTime)
Changes the current animation by blending the new on top of the old during the transition time.

Parameters:
id - The ID of the Animation within the ModelInstance.
loopCount - The number of times to loop the animation, zero to play the animation only once, negative to continuously loop the animation.
speed - The speed at which the animation should be played. Default is 1.0f. A value of 2.0f will play the animation at twice the normal speed, a value of 0.5f will play the animation at half the normal speed, etc. This value can be negative, causing the animation to played in reverse. This value cannot be zero.
listener - The AnimationController.AnimationListener which will be informed when the animation is looped or completed.
transitionTime - The time to transition the new animation on top of the currently playing animation (if any).
Returns:
The AnimationController.AnimationDesc which can be read to get the progress of the animation. Will be invalid when the animation is completed.

queue

public AnimationController.AnimationDesc queue(String id,
                                               int loopCount,
                                               float speed,
                                               AnimationController.AnimationListener listener,
                                               float transitionTime)
Queue an animation to be applied when the current animation is finished. If the current animation is continuously looping it will be synchronized on next loop.

Parameters:
id - The ID of the Animation within the ModelInstance.
loopCount - The number of times to loop the animation, zero to play the animation only once, negative to continuously loop the animation.
speed - The speed at which the animation should be played. Default is 1.0f. A value of 2.0f will play the animation at twice the normal speed, a value of 0.5f will play the animation at half the normal speed, etc. This value can be negative, causing the animation to played in reverse. This value cannot be zero.
listener - The AnimationController.AnimationListener which will be informed when the animation is looped or completed.
transitionTime - The time to transition the new animation on top of the currently playing animation (if any).
Returns:
The AnimationController.AnimationDesc which can be read to get the progress of the animation. Will be invalid when the animation is completed.

action

public AnimationController.AnimationDesc action(String id,
                                                int loopCount,
                                                float speed,
                                                AnimationController.AnimationListener listener,
                                                float transitionTime)
Apply an action animation on top of the current animation.

Parameters:
id - The ID of the Animation within the ModelInstance.
loopCount - The number of times to loop the animation, zero to play the animation only once, negative to continuously loop the animation.
speed - The speed at which the animation should be played. Default is 1.0f. A value of 2.0f will play the animation at twice the normal speed, a value of 0.5f will play the animation at half the normal speed, etc. This value can be negative, causing the animation to played in reverse. This value cannot be zero.
listener - The AnimationController.AnimationListener which will be informed when the animation is looped or completed.
transitionTime - The time to transition the new animation on top of the currently playing animation (if any).
Returns:
The AnimationController.AnimationDesc which can be read to get the progress of the animation. Will be invalid when the animation is completed.


Copyright © 2013. All Rights Reserved.