Player.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. var game = Atomic.game;
  2. var input = game.input;
  3. var node = self.node;
  4. self.allowMove = true;
  5. self.allowShoot = true;
  6. self.shootDelta = 0;
  7. function doShooting(timeStep)
  8. {
  9. if (self.shootDelta > 0) {
  10. self.shootDelta -= timeStep;
  11. if (self.shootDelta < 0)
  12. self.shootDelta = 0;
  13. return;
  14. }
  15. if (!input.getKeyDown(Atomic.KEY_W))
  16. return;
  17. self.shootDelta = 0.15;
  18. var pos = node.position2D;
  19. pos[1] += .5;
  20. SpaceGame.spawnBullet(pos, true);
  21. }
  22. function moveShip(timeStep)
  23. {
  24. var speed = 3.0 * timeStep;
  25. var pos = node.position2D;
  26. var left = false;
  27. var right = false;
  28. if (input.getKeyDown(Atomic.KEY_A) || input.getKeyDown(Atomic.KEY_LEFT))
  29. pos[0] -= speed;
  30. if (input.getKeyDown(Atomic.KEY_D) || input.getKeyDown(Atomic.KEY_RIGHT))
  31. pos[0] += speed;
  32. if (pos[0] < -SpaceGame.halfWidth + 2)
  33. pos[0] = -SpaceGame.halfWidth + 2;
  34. if (pos[0] > SpaceGame.halfWidth - 2)
  35. pos[0] = SpaceGame.halfWidth - 2;
  36. node.position2D = pos;
  37. }
  38. function start() {
  39. var spaceSheet = game.getSpriteSheet("Sprites/spacegame_sheet.xml");
  40. var sprite2D = node.createComponent("StaticSprite2D");
  41. sprite2D.sprite = spaceSheet.getSprite("spaceship_mantis");
  42. sprite2D.blendMode = Atomic.BLEND_ALPHA;
  43. node.position2D = [0, -SpaceGame.halfHeight + 1];
  44. }
  45. function update(timeStep) {
  46. if (self.allowShoot)
  47. doShooting(timeStep);
  48. if (self.allowMove)
  49. moveShip(timeStep);
  50. }