Advertisement
Guest User

Player class

a guest
Dec 4th, 2015
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.06 KB | None | 0 0
  1. public class Player extends Mob {
  2.  
  3.     private Keyboard input;
  4.     private Sprite sprite;
  5.     private int anim = 0;
  6.     private boolean walking = false;
  7.     private int fireRate = 0;
  8.  
  9.     private AnimatedSprite down = new AnimatedSprite(SpriteSheet.player_down, 32, 32, 3);
  10.     private AnimatedSprite up = new AnimatedSprite(SpriteSheet.player_up, 32, 32, 3);
  11.     private AnimatedSprite left = new AnimatedSprite(SpriteSheet.player_left, 32, 32, 3);
  12.     private AnimatedSprite right = new AnimatedSprite(SpriteSheet.player_right, 32, 32, 3);
  13.  
  14.     private AnimatedSprite animSprite = down;
  15.  
  16.     public Player(Keyboard input) {
  17.         this.input = input;
  18.     }
  19.  
  20.     public Player(int x, int y, Keyboard input) {
  21.         this.x = x;
  22.         this.y = y;
  23.         this.input = input;
  24.         fireRate = RockProjectile.FIRE_RATE;
  25.         sprite = animSprite.getSprite();
  26.     }
  27.  
  28.     public void update() {
  29.         if (walking) animSprite.update();
  30.         else animSprite.setFrame(0);
  31.         if (fireRate > 0) fireRate--;
  32.         double xa = 0, ya = 0;
  33.         double speed = 2.0;
  34.         if (anim < 7500) anim++;
  35.         else anim = 0;
  36.         if (input.up) {
  37.             animSprite = up;
  38.             ya -= speed;
  39.         } else if (input.down) {
  40.             animSprite = down;
  41.             ya += speed;
  42.         }
  43.         if (input.left) {
  44.             animSprite = left;
  45.             xa -= speed;
  46.         } else if (input.right) {
  47.             animSprite = right;
  48.             xa += speed;
  49.         }
  50.  
  51.         if (xa != 0 || ya != 0) {
  52.             move(xa, ya);
  53.             walking = true;
  54.         } else {
  55.             walking = false;
  56.         }
  57.         clear();
  58.         updateShooting();
  59.     }
  60.  
  61.     private void clear() {
  62.         for (int i = 0; i < level.getProjectiles().size(); i++) {
  63.             Projectile p = level.getProjectiles().get(i);
  64.             if (p.isRemoved()) level.getProjectiles().remove(i);
  65.         }
  66.     }
  67.  
  68.     private void updateShooting() {
  69.         if (Mouse.getButton() == 1 && fireRate <= 0) {
  70.             double dx = Mouse.getX() - Game.getWindowWidth() / 2;
  71.             double dy = Mouse.getY() - Game.getWindowHeight() / 2;
  72.             double dir = Math.atan2(dy, dx);
  73.             shoot((int) x, (int) y, dir);
  74.             fireRate = RockProjectile.FIRE_RATE;
  75.         }
  76.     }
  77.  
  78.     public void render(Screen screen) {
  79.         sprite = animSprite.getSprite();
  80.         screen.renderMob(x - 16, y - 16, sprite);
  81.     }
  82.  
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement