SpaceGame.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. var game = Atomic.game;
  2. var scene = game.scene;
  3. // expose ourselves as a global
  4. SpaceGame = self;
  5. self.halfWidth = game.graphics.width * Atomic.PIXEL_SIZE * 0.5;
  6. self.halfHeight = game.graphics.height * Atomic.PIXEL_SIZE * 0.5;
  7. var enemyBaseDir = false;
  8. var enemyBaseNode = scene.createChild("EnemyBaseNode");
  9. var enemyBasePosX = 0;
  10. self.enemies = [];
  11. self.spawnBullet = function(pos, isPlayer) {
  12. var bulletNode = scene.createChild("Bullet");
  13. var bullet = bulletNode.createJSComponent("Bullet");
  14. bullet.init(isPlayer, pos);
  15. }
  16. function spawnSpace() {
  17. var spaceNode = scene.createChild("Space");
  18. spaceNode.createJSComponent("Space");
  19. }
  20. function spawnEnemies()
  21. {
  22. self.capitalShipNode = scene.createChild("CapitalShip");
  23. self.capitalShip = self.capitalShipNode.createJSComponent("CapitalShip");
  24. var pos = [0, 0];
  25. pos[1] = self.halfHeight - 2.5;
  26. for (var y = 0; y < 3; y++) {
  27. pos[0] = -4.5;
  28. for (var x = 0; x < 12; x++) {
  29. var enemyNode = enemyBaseNode.createChild("Enemy");
  30. enemy = enemyNode.createJSComponent("Enemy");
  31. enemy.spriteName = Math.random() < .85 ? "spaceship_louse" : "spaceship_scarab";
  32. enemy.spawnPosition = [pos[0], pos[1]];
  33. self.enemies.push(enemy);
  34. pos[0] += 0.75;
  35. }
  36. pos[1] -= 0.75;
  37. }
  38. }
  39. function updateEnemies(timeStep) {
  40. if (!enemyBaseDir)
  41. enemyBasePosX += timeStep;
  42. else
  43. enemyBasePosX -= timeStep;
  44. var xvalue = 2;
  45. if (enemyBasePosX > xvalue) {
  46. enemyBasePosX = xvalue;
  47. enemyBaseDir = !enemyBaseDir;
  48. }
  49. if (enemyBasePosX < -xvalue) {
  50. enemyBasePosX = -xvalue;
  51. enemyBaseDir = !enemyBaseDir;
  52. }
  53. enemyBaseNode.position2D = [enemyBasePosX, 0];
  54. }
  55. function spawnPlayer() {
  56. self.playerNode = scene.createChild("Player");
  57. self.player = self.playerNode.createJSComponent("Player");
  58. }
  59. function start() {
  60. spawnSpace();
  61. spawnPlayer();
  62. spawnEnemies();
  63. }
  64. function update(timeStep) {
  65. updateEnemies(timeStep);
  66. }