Advertisement
Guest User

animatedSprite.java

a guest
Mar 24th, 2017
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. package com.xsades.cherno.graphics;
  2.  
  3. public class AnimatedSprite extends Sprite{
  4.  
  5. private int frame = 0;
  6. private Sprite sprite;
  7. private int rate = 5;
  8. private int time = 0;
  9. private int length = -1;
  10.  
  11. public AnimatedSprite(Spritesheet sheet, int width, int height, int length){
  12. super(width, height, sheet);
  13. this.length = length;
  14. sprite = sheet.getSprites()[0];
  15. if(length > sheet.getSprites().length) System.err.println("error, length of anim is too long");
  16. }
  17.  
  18. public void update(){
  19. time++;
  20. if(time % rate == 0){
  21. if(frame >= length -1) frame = 0;
  22. else frame++;
  23. sprite = sheet.getSprites()[frame];
  24. }
  25. }
  26. public Sprite getSprite(){
  27. return sprite;
  28. }
  29. public void setFrameRate(int frames){
  30. rate = frames;
  31. }
  32.  
  33. public void setFrame(int index) {
  34. if(index > sheet.getSprites().length -1){
  35. System.err.println("Index out of bounds in" + this);
  36. return;
  37. }
  38. sprite = sheet.getSprites()[index];
  39. }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement