Code edit (2 edits merged)
Please save this source code
User prompt
add a variable in each wave to define when they will spawn
User prompt
Fix Bug: 'TypeError: self.getEnemyCountForWave is not a function' in this line: 'for (var i = 0; i < self.getEnemyCountForWave(waveIndex); i++) {' Line Number: 92
Code edit (3 edits merged)
Please save this source code
User prompt
Fix Bug: 'ReferenceError: enemiesPerWave is not defined' in this line: 'for (var i = 0; i < enemiesPerWave; i++) {' Line Number: 106
Code edit (3 edits merged)
Please save this source code
User prompt
Fix Bug: 'TypeError: self.getEnemyCountForWave is not a function' in this line: 'var enemyCount = self.getEnemyCountForWave(waveIndex);' Line Number: 95
Code edit (2 edits merged)
Please save this source code
User prompt
waves will have a fixed number of enemies set in a variable in each wave
User prompt
allow to have differnt ammount of enemies per wave
User prompt
allow to have differnt ammount of enemies per wave
Code edit (1 edits merged)
Please save this source code
User prompt
Wave1 should have 10 enemies
User prompt
Improve game performace
User prompt
Optimize game performance
User prompt
Enemy should not collide with each other
User prompt
Fix enemy not spawning at game start
User prompt
Enemey should move towards hero
User prompt
Spawn enemy wave1 at game start
User prompt
Each enemy wave will have an enemy count
User prompt
Add two more enemy waves
User prompt
Each enemy wave will use a different image
User prompt
Enemy will come in waves
Initial prompt
Enemy waves
var Hero = Container.expand(function () { var self = Container.call(this); var heroGraphics = self.createAsset('hero', 'Hero character', .5, .5); self.move = function () {}; self.shoot = function () {}; }); var EnemyWave1 = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.createAsset('enemyWave1', 'Enemy Wave 1 character', .5, .5); self.move = function () {}; }); var EnemyWave2 = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.createAsset('enemyWave2', 'Enemy Wave 2 character', .5, .5); self.move = function () {}; }); var EnemyWave3 = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.createAsset('enemyWave3', 'Enemy Wave 3 character', .5, .5); self.move = function () {}; }); var HeroBullet = Container.expand(function () { var self = Container.call(this); var bulletGraphics = self.createAsset('heroBullet', 'Hero Bullet', .5, .5); self.move = function () {}; }); var EnemyBullet = Container.expand(function () { var self = Container.call(this); var bulletGraphics = self.createAsset('enemyBullet', 'Enemy Bullet', .5, .5); self.move = function () {}; }); var Game = Container.expand(function () { var self = Container.call(this); var hero = self.addChild(new Hero()); var enemies = []; var waveIndex = 0; var waveTimer = 0; var waveInterval = 300; var enemiesPerWave = 5; var heroBullets = []; var enemyBullets = []; hero.x = 2048 / 2; hero.y = 2732 / 2; LK.on('tick', function () { hero.move(); waveTimer++; if (waveTimer >= waveInterval) { for (var i = 0; i < enemiesPerWave; i++) { var newEnemy; switch (waveIndex % 3) { case 0: newEnemy = new EnemyWave1(); break; case 1: newEnemy = new EnemyWave2(); break; case 2: newEnemy = new EnemyWave3(); break; } newEnemy.x = Math.random() * 2048; newEnemy.y = -100; enemies.push(newEnemy); self.addChild(newEnemy); } waveIndex++; waveTimer = 0; } for (var i = 0; i < enemies.length; i++) { enemies[i].move(); } for (var i = 0; i < heroBullets.length; i++) { heroBullets[i].move(); } for (var i = 0; i < enemyBullets.length; i++) { enemyBullets[i].move(); } }); stage.on('down', function (obj) { var pos = obj.event.getLocalPosition(self); hero.x = pos.x; hero.y = pos.y; hero.shoot(); }); });
===================================================================
--- original.js
+++ change.js
@@ -3,13 +3,23 @@
var heroGraphics = self.createAsset('hero', 'Hero character', .5, .5);
self.move = function () {};
self.shoot = function () {};
});
-var Enemy = Container.expand(function () {
+var EnemyWave1 = Container.expand(function () {
var self = Container.call(this);
- var enemyGraphics = self.createAsset('enemy', 'Enemy character', .5, .5);
+ var enemyGraphics = self.createAsset('enemyWave1', 'Enemy Wave 1 character', .5, .5);
self.move = function () {};
});
+var EnemyWave2 = Container.expand(function () {
+ var self = Container.call(this);
+ var enemyGraphics = self.createAsset('enemyWave2', 'Enemy Wave 2 character', .5, .5);
+ self.move = function () {};
+});
+var EnemyWave3 = Container.expand(function () {
+ var self = Container.call(this);
+ var enemyGraphics = self.createAsset('enemyWave3', 'Enemy Wave 3 character', .5, .5);
+ self.move = function () {};
+});
var HeroBullet = Container.expand(function () {
var self = Container.call(this);
var bulletGraphics = self.createAsset('heroBullet', 'Hero Bullet', .5, .5);
self.move = function () {};
@@ -35,9 +45,20 @@
hero.move();
waveTimer++;
if (waveTimer >= waveInterval) {
for (var i = 0; i < enemiesPerWave; i++) {
- var newEnemy = new Enemy();
+ var newEnemy;
+ switch (waveIndex % 3) {
+ case 0:
+ newEnemy = new EnemyWave1();
+ break;
+ case 1:
+ newEnemy = new EnemyWave2();
+ break;
+ case 2:
+ newEnemy = new EnemyWave3();
+ break;
+ }
newEnemy.x = Math.random() * 2048;
newEnemy.y = -100;
enemies.push(newEnemy);
self.addChild(newEnemy);