Search in sources :

Example 11 with Animation

use of com.b3dgs.lionengine.Animation in project lionengine by b3dgs.

the class SpriteAnimatedTest method testUpdateLoopReverse.

/**
 * Test update with loop and reverse.
 */
@Test
void testUpdateLoopReverse() {
    final Animation animation = new Animation(Animation.DEFAULT_NAME, 1, 3, 1.0, true, true);
    final SpriteAnimated sprite = new SpriteAnimatedImpl(Graphics.createImageBuffer(64, 32), 16, 8);
    sprite.play(animation);
    assertEquals(AnimState.PLAYING, sprite.getAnimState());
    assertEquals(1, sprite.getFrame());
    assertEquals(1, sprite.getFrameAnim());
    sprite.update(1.0);
    assertEquals(AnimState.PLAYING, sprite.getAnimState());
    assertEquals(2, sprite.getFrame());
    assertEquals(2, sprite.getFrameAnim());
    sprite.update(1.0);
    assertEquals(AnimState.PLAYING, sprite.getAnimState());
    assertEquals(3, sprite.getFrame());
    assertEquals(3, sprite.getFrameAnim());
    sprite.update(1.0);
    assertEquals(AnimState.REVERSING, sprite.getAnimState());
    assertEquals(2, sprite.getFrame());
    assertEquals(2, sprite.getFrameAnim());
    sprite.update(1.0);
    assertEquals(AnimState.PLAYING, sprite.getAnimState());
    assertEquals(1, sprite.getFrame());
    assertEquals(1, sprite.getFrameAnim());
    sprite.update(1.0);
    assertEquals(AnimState.PLAYING, sprite.getAnimState());
    assertEquals(2, sprite.getFrame());
    assertEquals(2, sprite.getFrameAnim());
    sprite.update(1.0);
    assertEquals(AnimState.PLAYING, sprite.getAnimState());
    assertEquals(3, sprite.getFrame());
    assertEquals(3, sprite.getFrameAnim());
    sprite.update(1.0);
    assertEquals(AnimState.REVERSING, sprite.getAnimState());
    assertEquals(2, sprite.getFrame());
    assertEquals(2, sprite.getFrameAnim());
}
Also used : Animation(com.b3dgs.lionengine.Animation) Test(org.junit.jupiter.api.Test)

Example 12 with Animation

use of com.b3dgs.lionengine.Animation in project lionengine by b3dgs.

the class SpriteAnimatedTest method testPlay.

/**
 * Test play.
 */
@Test
void testPlay() {
    final Animation animation = new Animation(Animation.DEFAULT_NAME, 1, 2, 1.5, false, false);
    final SpriteAnimated sprite = new SpriteAnimatedImpl(Graphics.createImageBuffer(64, 32), 16, 8);
    sprite.play(animation);
    assertEquals(animation, sprite.getAnim());
    assertEquals(AnimState.PLAYING, sprite.getAnimState());
    assertEquals(2, sprite.getFrames());
    assertEquals(1, sprite.getFrame());
    assertEquals(1, sprite.getFrameAnim());
    assertEquals(1.5, sprite.getAnimSpeed());
    sprite.update(1.0);
    assertEquals(AnimState.PLAYING, sprite.getAnimState());
    assertEquals(2, sprite.getFrames());
    assertEquals(2, sprite.getFrame());
    assertEquals(2, sprite.getFrameAnim());
    assertEquals(1.5, sprite.getAnimSpeed());
}
Also used : Animation(com.b3dgs.lionengine.Animation) Test(org.junit.jupiter.api.Test)

Example 13 with Animation

use of com.b3dgs.lionengine.Animation in project lionengine by b3dgs.

the class SpriteAnimatedTest method testUpdateLoopNoReverse.

/**
 * Test update with loop but no reverse.
 */
@Test
void testUpdateLoopNoReverse() {
    final Animation animation = new Animation(Animation.DEFAULT_NAME, 1, 3, 1.0, false, true);
    final SpriteAnimated sprite = new SpriteAnimatedImpl(Graphics.createImageBuffer(64, 32), 16, 8);
    sprite.play(animation);
    assertEquals(AnimState.PLAYING, sprite.getAnimState());
    assertEquals(1, sprite.getFrame());
    assertEquals(1, sprite.getFrameAnim());
    sprite.update(1.0);
    assertEquals(AnimState.PLAYING, sprite.getAnimState());
    assertEquals(2, sprite.getFrame());
    assertEquals(2, sprite.getFrameAnim());
    sprite.update(1.0);
    assertEquals(AnimState.PLAYING, sprite.getAnimState());
    assertEquals(3, sprite.getFrame());
    assertEquals(3, sprite.getFrameAnim());
    sprite.update(1.0);
    assertEquals(AnimState.PLAYING, sprite.getAnimState());
    assertEquals(1, sprite.getFrame());
    assertEquals(1, sprite.getFrameAnim());
    sprite.update(1.0);
    assertEquals(AnimState.PLAYING, sprite.getAnimState());
    assertEquals(2, sprite.getFrame());
    assertEquals(2, sprite.getFrameAnim());
}
Also used : Animation(com.b3dgs.lionengine.Animation) Test(org.junit.jupiter.api.Test)

Example 14 with Animation

use of com.b3dgs.lionengine.Animation in project lionengine by b3dgs.

the class SpriteAnimatedTest method testSetSpeedNegative.

/**
 * Test negative speed.
 */
@Test
void testSetSpeedNegative() {
    final Animation animation = new Animation(Animation.DEFAULT_NAME, 1, 3, 1.0, false, false);
    final SpriteAnimated sprite = new SpriteAnimatedImpl(Graphics.createImageBuffer(64, 32), 16, 8);
    sprite.play(animation);
    sprite.setAnimSpeed(-1.0);
    sprite.setFrame(3);
    sprite.update(1.0);
    assertEquals(AnimState.PLAYING, sprite.getAnimState());
    assertEquals(2, sprite.getFrame());
    assertEquals(2, sprite.getFrameAnim());
}
Also used : Animation(com.b3dgs.lionengine.Animation) Test(org.junit.jupiter.api.Test)

Example 15 with Animation

use of com.b3dgs.lionengine.Animation in project lionengine by b3dgs.

the class AnimatableModelTest method testReset.

/**
 * Test the reset case.
 */
@Test
void testReset() {
    final int first = 2;
    final int last = 4;
    final Animation animation = new Animation(Animation.DEFAULT_NAME, first, last, 1.0, false, false);
    final Animatable animatable = new AnimatableModel(services, setup);
    testAnimatorState(animatable, Animation.MINIMUM_FRAME, Animation.MINIMUM_FRAME, AnimState.STOPPED);
    animatable.play(animation);
    testAnimatorState(animatable, first, first, AnimState.PLAYING);
    animatable.reset();
    testAnimatorState(animatable, 1, 1, AnimState.STOPPED);
}
Also used : Animation(com.b3dgs.lionengine.Animation) Test(org.junit.jupiter.api.Test)

Aggregations

Animation (com.b3dgs.lionengine.Animation)41 Test (org.junit.jupiter.api.Test)19 Test (org.junit.Test)13 Animator (com.b3dgs.lionengine.Animator)9 SpriteAnimated (com.b3dgs.lionengine.graphic.SpriteAnimated)6 HashMap (java.util.HashMap)5 Xml (com.b3dgs.lionengine.Xml)4 AnimatorModel (com.b3dgs.lionengine.AnimatorModel)3 Media (com.b3dgs.lionengine.Media)3 AnimatableModel (com.b3dgs.lionengine.game.feature.AnimatableModel)3 TransformableModel (com.b3dgs.lionengine.game.feature.TransformableModel)3 Collision (com.b3dgs.lionengine.game.feature.collidable.Collision)3 Collection (java.util.Collection)3 AtomicReference (java.util.concurrent.atomic.AtomicReference)3 AnimState (com.b3dgs.lionengine.AnimState)2 AnimatorListener (com.b3dgs.lionengine.AnimatorListener)2 LionEngineException (com.b3dgs.lionengine.LionEngineException)2 AnimationConfig (com.b3dgs.lionengine.game.AnimationConfig)2 Configurer (com.b3dgs.lionengine.game.Configurer)2 Animatable (com.b3dgs.lionengine.game.feature.Animatable)2