Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.xsades.cherno.graphics;
- public class AnimatedSprite extends Sprite{
- private int frame = 0;
- private Sprite sprite;
- private int rate = 5;
- private int time = 0;
- private int length = -1;
- public AnimatedSprite(Spritesheet sheet, int width, int height, int length){
- super(width, height, sheet);
- this.length = length;
- sprite = sheet.getSprites()[0];
- if(length > sheet.getSprites().length) System.err.println("error, length of anim is too long");
- }
- public void update(){
- time++;
- if(time % rate == 0){
- if(frame >= length -1) frame = 0;
- else frame++;
- sprite = sheet.getSprites()[frame];
- }
- }
- public Sprite getSprite(){
- return sprite;
- }
- public void setFrameRate(int frames){
- rate = frames;
- }
- public void setFrame(int index) {
- if(index > sheet.getSprites().length -1){
- System.err.println("Index out of bounds in" + this);
- return;
- }
- sprite = sheet.getSprites()[index];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement