package fr.enssat.BoulderDash.models.displayableElement; import java.awt.image.BufferedImage; import java.util.ArrayList; /** * MagicWallModel * * Represents the magic wall. * * @author Colin Leverger * @since 2015-06-19 */ public class MagicWallModel extends DisplayableElementModel { /** * Stores the frames * Used for the sprites */ private ArrayList 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(); /* 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)); } }