FogTile.java 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package me.hammerle.supersnuvi.tiles;
  2. import me.hammerle.supersnuvi.javafx.Image;
  3. import me.hammerle.supersnuvi.rendering.IRenderer;
  4. import me.hammerle.supersnuvi.util.Utils;
  5. public class FogTile extends Tile
  6. {
  7. private int counter;
  8. private int frame;
  9. private final double alpha;
  10. private final Image[] images;
  11. public FogTile(double alpha)
  12. {
  13. counter = 0;
  14. frame = 0;
  15. images = new Image[32];
  16. String path = "fog/fog_f";
  17. for(int i = 0; i < 32; i++)
  18. {
  19. images[i] = Utils.getTileImage(path + (i + 1));
  20. }
  21. this.alpha = alpha;
  22. }
  23. @Override
  24. public Image getImage(int x, int y)
  25. {
  26. return images[frame];
  27. }
  28. @Override
  29. public void preRender(IRenderer renderer, int x, int y)
  30. {
  31. renderer.setGlobalAlpha(alpha);
  32. }
  33. @Override
  34. public void postRender(IRenderer renderer, int x, int y)
  35. {
  36. renderer.setGlobalAlpha(1.0);
  37. }
  38. @Override
  39. public void tick()
  40. {
  41. counter++;
  42. if(counter > 12)
  43. {
  44. counter = 0;
  45. frame++;
  46. if(frame >= images.length)
  47. {
  48. frame = 0;
  49. }
  50. }
  51. }
  52. }