Advertisement
Guest User

FireBall

a guest
Sep 10th, 2013
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. package main.Entity.projectile;
  2.  
  3. import main.Screen;
  4. import main.Sprite;
  5. import main.Entity.particle.Particle;
  6. import main.Entity.spawner.ParticleSpawner;
  7. import main.Entity.spawner.Spawner;
  8.  
  9. public class FireBall extends Projectile {
  10.  
  11. public static final int FIRERATE = 5; //Number high = slower firerate, Number low = faster firerate.
  12.  
  13. public FireBall(int x, int y, double dir) {
  14. super(x, y, dir);
  15. range = 225;
  16. speed = 4;
  17. damage = 20;
  18. sprite = Sprite.fireBall;
  19.  
  20. nx = speed * Math.cos(angle);
  21. ny = speed * Math.sin(angle);
  22. }
  23.  
  24. public void update() {
  25. if (level.solidCollision(x, y, nx, ny, 7)) {
  26. level.add(new ParticleSpawner((int) x, (int) y, 100, 1000, level));
  27. remove();
  28. }
  29. move();
  30. }
  31.  
  32.  
  33.  
  34. protected void move() {
  35. x += nx;
  36. y += ny;
  37. if (distance() > range) remove();
  38. }
  39.  
  40. private double distance() {
  41. double dist = 0;
  42. dist = Math.sqrt(Math.abs((xOrigin - x) * (xOrigin - x) + (yOrigin - y) * (yOrigin - y)));
  43. return dist;
  44. }
  45.  
  46. public void render(Screen screen) {
  47. screen.renderProjectile((int) x, (int) y, this);
  48. }
  49.  
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement