Browse Source

Working on SpaceGame

Josh Engebretson 11 years ago
parent
commit
03dc0843a5

+ 15 - 6
SpaceGame/Resources/Components/Bullet.js

@@ -1,15 +1,19 @@
 var game = Atomic.game;
 var node = self.node;
 
-function start() {
+self.isPlayer = false;
+
+self.init = function (isPlayer, spawnPosition) {
 
-	var laserSound = game.getSound(self.isPlayer ? "Sounds/laser01.wav" : "Sounds/laser02.wav");
+    self.isPlayer = isPlayer;
+
+    var laserSound = game.getSound(self.isPlayer ? "Sounds/laser01.wav" : "Sounds/laser02.wav");
     var sprite2D = node.createComponent("StaticSprite2D");
 
     if (self.isPlayer)    
-    	sprite2D.sprite = game.getSprite2D("Sprites/blue_beam.png");
+        sprite2D.sprite = game.getSprite2D("Sprites/blue_beam.png");
     else
-    	sprite2D.sprite = game.getSprite2D("Sprite2D", "Sprites/green_beam.png");
+        sprite2D.sprite = game.getSprite2D("Sprite2D", "Sprites/green_beam.png");
 
     sprite2D.blendMode = Atomic.BLEND_ADDALPHA;
 
@@ -18,13 +22,18 @@ function start() {
     self.soundSource.gain = 0.75;
     self.soundSource.play(laserSound);
 
-    node.position2D =  self.spawnPosition;
+    node.position2D =  spawnPosition;
 
     if (!self.isPlayer)
     {
-    	node.roll(180);
+        node.roll(180);
     }
 
+}
+
+function start() {
+
+	
 }
 
 function update(timeStep) {	

+ 49 - 0
SpaceGame/Resources/Components/CapitalShip.js

@@ -0,0 +1,49 @@
+
+var game = Atomic.game;
+var node = self.node;
+
+self.allowShoot = true;
+self.shootDelta = 0;
+
+self.health = 60;
+
+
+// using start to initialize the script component
+function start() {
+
+    var spaceSheet = game.getSpriteSheet("Sprites/spacegame_sheet.xml");
+
+    // add a sprite component to our node
+    var sprite2D = node.createComponent("StaticSprite2D");
+    sprite2D.blendMode = Atomic.BLEND_ALPHA;    
+    sprite2D.sprite = spaceSheet.getSprite("spaceship_locust");
+
+    node.position2D =  [-4, SpaceGame.halfHeight - 1];
+    node.roll(180);
+    
+}
+
+// update function called per frame with delta time
+function update(timeStep) {
+
+    var pos = node.position2D;
+    var ppos = SpaceGame.playerNode.position2D;
+    
+    if (Math.abs(pos[0] - ppos[0]) > .25)
+    {
+        if (pos[0] < ppos[0])
+            pos[0] += timeStep * .95;
+        else
+            pos[0] -= timeStep * .95;
+
+        node.position2D = pos;
+    }
+    else
+    {
+    	//aiShoot(timeStep);
+
+    }
+
+
+
+}

+ 33 - 7
SpaceGame/Resources/Components/SpaceGame.js

@@ -16,10 +16,8 @@ self.enemies = [];
 self.spawnBullet = function(pos, isPlayer) {
 
     var bulletNode = scene.createChild("Bullet");
-    bullet = bulletNode.createComponent("JSComponent");
-    bullet.isPlayer = isPlayer;
-    bullet.spawnPosition = pos;
-    bullet.className = "Bullet";    
+    var bullet = bulletNode.createJSComponent("Bullet");
+    bullet.init(isPlayer, pos);
 }
 
 function spawnSpace() {
@@ -31,6 +29,10 @@ function spawnSpace() {
 
 function spawnEnemies()
 {
+
+    self.capitalShipNode = scene.createChild("CapitalShip");
+    self.capitalShip = self.capitalShipNode.createJSComponent("CapitalShip");
+
     var pos = [0, 0];
 
     pos[1] = self.halfHeight - 2.5;
@@ -42,10 +44,9 @@ function spawnEnemies()
         for (var x = 0; x < 12; x++) {
 
             var enemyNode = enemyBaseNode.createChild("Enemy");
-            enemy = enemyNode.createComponent("JSComponent");
+            enemy = enemyNode.createJSComponent("Enemy");
             enemy.spriteName = Math.random() < .85 ? "spaceship_louse" : "spaceship_scarab";
             enemy.spawnPosition = [pos[0], pos[1]];
-            enemy.className = "Enemy"; 
             self.enemies.push(enemy);
 
             pos[0] += 0.75;
@@ -58,6 +59,29 @@ function spawnEnemies()
 
 }
 
+function updateEnemies(timeStep) {
+
+    if (!enemyBaseDir)
+        enemyBasePosX += timeStep;
+    else
+        enemyBasePosX -= timeStep;
+
+    var xvalue = 2;
+
+    if (enemyBasePosX > xvalue) {
+        enemyBasePosX = xvalue;
+        enemyBaseDir = !enemyBaseDir;
+    }
+
+    if (enemyBasePosX < -xvalue) {
+        enemyBasePosX = -xvalue;
+        enemyBaseDir = !enemyBaseDir;
+    }
+
+    enemyBaseNode.position2D = [enemyBasePosX, 0];
+
+}
+
 
 function spawnPlayer() {
 
@@ -69,12 +93,14 @@ function spawnPlayer() {
 function start() {
 
 	spawnSpace();
-	spawnPlayer();
+	spawnPlayer();    
 	spawnEnemies();
 }
 
 
 function update(timeStep) {
 
+    updateEnemies(timeStep);
+
 
 }