56 lines
1.3 KiB
Java

package fr.enssat.BoulderDash.models.displayableElement;
import java.awt.image.BufferedImage;
import java.util.ArrayList;
/**
* MagicWallModel
*
* Represents the magic wall.
*
* @author Colin Leverger <me@colinleverger.fr>
* @since 2015-06-19
*/
public class MagicWallModel extends DisplayableElementModel {
/**
* Stores the frames
* Used for the sprites
*/
private ArrayList<BufferedImage> framesMagicWall;
private long previousTime;
private int currentFrame = 0;
/**
* Function to animate the sprite
*/
public void update(long time) {
long speed = 100;
if (time - previousTime >= speed) {
// Update animation
previousTime = time;
try {
currentFrame += 1;
this.setSprite(framesMagicWall.get(this.currentFrame));
} catch (IndexOutOfBoundsException e) {
currentFrame = 0;
}
}
}
/**
* Init the subimages
*/
/* package-private */ void initSprites() {
this.framesMagicWall = new ArrayList<BufferedImage>();
/* INIT SPRITE FOR DIAMOND */
framesMagicWall.add(grabSprite(loadSprite(spriteName), 0, 0, 16, 16));
framesMagicWall.add(grabSprite(loadSprite(spriteName), 24, 0, 16, 16));
framesMagicWall.add(grabSprite(loadSprite(spriteName), 48, 0, 16, 16));
framesMagicWall.add(grabSprite(loadSprite(spriteName), 72, 0, 16, 16));
}
}