Animation Frame par Frame
Animation Frame par Frame
private Animation
loadAnimation(SpriteSheet
spriteSheet, int startX, int
endX, int y) {
Animation animation =
new Animation();
for (int x = startX; x <
endX; x++) {
animation.addFrame(sprite
Sheet.getSprite(x, y), 100);
}
return animation;
}
Programmation 2D/3D: INF 1483
Simulation et Animation
Animation Frame par Frame
66
• ,
Initialisation
Ensuite on initialise les
animations:
pour chaque animation.
private float x = 300, y = 300;
private int direction = 0;
private boolean moving = false;
private Animation[] animations = new Animation[8];
public void init() {
SpriteSheet spriteSheet = new SpriteSheet((
"sprites/character.png", 64, 64);
Animation animation = new Animation();
animation.addFrame(spriteSheet.getSprite(1, 1), 100);
animation.addFrame(spriteSheet.getSprite(2, 1), 100);
animation.addFrame(spriteSheet.getSprite(3, 1), 100);
animation.addFrame(spriteSheet.getSprite(4, 1), 100);
animation.addFrame(spriteSheet.getSprite(5, 1), 100);
animation.addFrame(spriteSheet.getSprite(6, 1), 100);
animation.addFrame(spriteSheet.getSprite(7, 1), 100);
animation.addFrame(spriteSheet.getSprite(8, 1), 100);
this.animations[5] = animation;
this.animations[0] =
loadAnimation(spriteSheet, 0, 1, 0);
this.animations[1] =
loadAnimation(spriteSheet, 0, 1, 1);
this.animations[2] =
loadAnimation(spriteSheet, 0, 1, 2);
this.animations[3] =
loadAnimation(spriteSheet, 0, 1, 3);
this.animations[4] =
loadAnimation(spriteSheet, 1, 9, 0);
this.animations[5] =
loadAnimation(spriteSheet, 1, 9, 1);
this.animations[6] =
loadAnimation(spriteSheet, 1, 9, 2);
this.animations[7] =
loadAnimation(spriteSheet, 1, 9, 3);
}