use of com.b3dgs.lionengine.Animation in project lionengine by b3dgs.
the class AnimatableModelTest method testListener.
/**
* Test with listener.
*/
@Test
void testListener() {
final AtomicReference<Animation> played = new AtomicReference<>();
final AtomicReference<AnimState> stated = new AtomicReference<>();
final AtomicReference<Integer> framed = new AtomicReference<>();
final AnimatorListener listener = new AnimatorListener() {
@Override
public void notifyAnimPlayed(Animation anim) {
played.set(anim);
}
@Override
public void notifyAnimState(AnimState state) {
stated.set(state);
}
@Override
public void notifyAnimFrame(int frame) {
framed.set(Integer.valueOf(frame));
}
};
final Animation animation = new Animation(Animation.DEFAULT_NAME, 1, 3, 0.25, true, false);
final Animatable animatable = new AnimatableModel(services, setup, new AnimatorModel());
animatable.addListener(listener);
assertNull(played.get());
assertNull(stated.get());
assertNull(framed.get());
animatable.play(animation);
assertEquals(animation, played.get());
assertEquals(AnimState.PLAYING, stated.get());
assertEquals(Integer.valueOf(1), framed.get());
played.set(null);
stated.set(null);
framed.set(null);
animatable.removeListener(listener);
animatable.play(animation);
animatable.update(1.0);
assertNull(played.get());
assertNull(stated.get());
assertNull(framed.get());
}
use of com.b3dgs.lionengine.Animation in project lionengine by b3dgs.
the class SpriteAnimatedTest method testSetSpeed.
/**
* Test set speed.
*/
@Test
void testSetSpeed() {
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(2.0);
sprite.update(1.0);
assertEquals(AnimState.PLAYING, sprite.getAnimState());
assertEquals(3, sprite.getFrame());
assertEquals(3, sprite.getFrameAnim());
}
use of com.b3dgs.lionengine.Animation in project lionengine by b3dgs.
the class SpriteAnimatedTest method testReset.
/**
* Test reset.
*/
@Test
void testReset() {
final Animation animation = new Animation(Animation.DEFAULT_NAME, 1, 2, 3.0, false, false);
final SpriteAnimated sprite = new SpriteAnimatedImpl(Graphics.createImageBuffer(64, 32), 16, 8);
sprite.play(animation);
sprite.update(1.0);
sprite.reset();
assertEquals(AnimState.STOPPED, sprite.getAnimState());
assertEquals(1, sprite.getFrame());
assertEquals(1, sprite.getFrameAnim());
}
use of com.b3dgs.lionengine.Animation in project lionengine by b3dgs.
the class SpriteAnimatedTest method testUpdateNoLoopNoReverse.
/**
* Test update without loop nor reverse.
*/
@Test
void testUpdateNoLoopNoReverse() {
final Animation animation = new Animation(Animation.DEFAULT_NAME, 1, 2, 1.0, false, false);
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.FINISHED, sprite.getAnimState());
assertEquals(2, sprite.getFrame());
assertEquals(2, sprite.getFrameAnim());
sprite.update(1.0);
assertEquals(AnimState.FINISHED, sprite.getAnimState());
assertEquals(2, sprite.getFrame());
assertEquals(2, sprite.getFrameAnim());
}
use of com.b3dgs.lionengine.Animation in project lionengine by b3dgs.
the class SpriteAnimatedTest method testUpdateNoLoopReverse.
/**
* Test update without loop but reverse.
*/
@Test
void testUpdateNoLoopReverse() {
final Animation animation = new Animation(Animation.DEFAULT_NAME, 1, 3, 1.0, true, false);
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.FINISHED, sprite.getAnimState());
assertEquals(1, sprite.getFrame());
assertEquals(1, sprite.getFrameAnim());
}
Aggregations