Code edit (4 edits merged)
Please save this source code
User prompt
i need to be able to adjust the players fire speed
User prompt
set the frequencey to a reasonable amount
User prompt
set the player to auto fire
Code edit (1 edits merged)
Please save this source code
User prompt
when enemy_5 is defeated, there is still colision detection for it.
User prompt
then enemy_5 is defeated, deleat it
Code edit (1 edits merged)
Please save this source code
User prompt
Ensure enemy_5 only dies when its lives are depleted
User prompt
Ensure enemy_5 only dies when its lives are depleted
User prompt
fix enemy_5 should omly die when its lives are gone
User prompt
Please fix the bug: 'TypeError: enemy_5 is not a function' in or related to this line: 'if (player.intersects(enemy_5)) {' Line Number: 735
User prompt
Please fix the bug: 'TypeError: enemy_5 is not a function' in or related to this line: 'if (enemy_5 instanceof enemy_5 && player.intersects(enemy_5)) {' Line Number: 735
Code edit (2 edits merged)
Please save this source code
User prompt
create an array containing all of enemy_5 so you dont use '''child instanceof enemy_5'''
User prompt
the explosions when enemy_5 is defeated are at the incorrect location
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
User prompt
they are happening in the center of the screen
User prompt
the explosions are not happening near enemy_5
User prompt
when enemy_5 is defeated add extra explosions randomly around its position, give a slight random delay
Code edit (3 edits merged)
Please save this source code
User prompt
Please fix the bug: 'TypeError: enemy_3 is undefined' in or related to this line: 'createExplosion(enemy_3.x, enemy_3.y);' Line Number: 636
User prompt
Please fix the bug: 'TypeError: e is undefined' in or related to this line: 'LK.effects.flashObject(explosion2, 0xFFFFFF, 100);' Line Number: 626
Code edit (4 edits merged)
Please save this source code
/****
* Classes
****/
// Bullet class
var Bullet = Container.expand(function () {
var self = Container.call(this);
//var bulletGraphics = self.attachAsset('bullet', {
// anchorX: 0.5,
// anchorY: 0.5
//});
self.direction = 0;
self.speed_y = -10;
self.speed_x = 0;
self.power = 2;
self.update = function () {
self.x += self.speed_x;
self.y += self.speed_y;
};
});
// Player class
var Player = Container.expand(function () {
var self = Container.call(this);
var playerGraphics = self.attachAsset('player', {
anchorX: 0.5,
anchorY: 0.5
});
self.shoot = function () {
forward_lazer();
split_shot();
};
});
// PowerUp class
var PowerUp = Container.expand(function () {
var self = Container.call(this);
var powerUpGraphics = self.attachAsset('powerUp', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
self.y += 1;
self.rotation += Math.PI / 40;
};
});
// Function to spawn power-ups
//<Assets used in the game will automatically appear here>
//<Write imports for supported plugins here>
// enemy_1 class
var enemy_1 = Container.expand(function () {
var self = Container.call(this);
self.n = 0;
self.xpos = 0.0;
var enemy_1Graphics = self.attachAsset('enemy_1', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 3 + LK.getScore() / 5000;
self.update = function () {
self.y += self.speed;
self.x = self.xpos + Math.sin(self.y / 100) * enemy_1_movemwnt_amplitude; // Make enemy_1 move in a sine wave
//self.x = self.xpos + Math.floor(self.y);
};
});
// enemy_2 class
var enemy_2 = Container.expand(function () {
var self = Container.call(this);
self.n = 0;
self.xpos = 0.0;
self.lives = 5;
var enemy_2Graphics = self.attachAsset('enemy_2', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 3 + LK.getScore() / 5000;
;
self.update = function () {
self.y += self.speed;
self.x = self.xpos + Math.sin(self.y / 100) * enemy_2_movemwnt_amplitude; // Make enemy_2 move in a sine wave
};
});
// enemy_3 class
var enemy_3 = Container.expand(function () {
var self = Container.call(this);
self.n = 0;
self.xpos = 0.0;
self.lives = 10;
self.odd = 0;
var enemy_3Graphics = self.attachAsset('enemy_3', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 4 + LK.getScore() / 5000;
;
self.update = function () {
self.y += self.speed;
self.x = self.xpos + self.odd * Math.sin(self.y / 200) * enemy_1_movemwnt_amplitude; // Make enemy_3 move in a sine wave
};
});
// enemy_4 class
var enemy_4 = Container.expand(function () {
var self = Container.call(this);
var enemy_4Graphics = self.attachAsset('enemy_4', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = Math.random() > 0.5 ? 5 : -5; // Randomize direction
self.update = function () {
self.x += self.speed;
// Randomly shoot bullets up or down
if (Math.random() < 0.01) {
// 1% chance to shoot each frame
var bullet = new Bullet();
bullet.x = self.x;
bullet.y = self.y;
bullet.speed_y = Math.random() > 0.5 ? 5 : -5; // Randomize bullet direction
bullet.attachAsset('bullet_2', {
anchorX: 0.5,
anchorY: 0.5
});
game.addChild(bullet);
// Ensure bullets are deleted when they come off the screen
bullet.update = function () {
bullet.y += bullet.speed_y;
if (bullet.y < 0 || bullet.y > 2732) {
bullet.destroy();
}
};
}
// Check if enemy_4 has moved off the screen
if (self.speed > 0 && self.x > 2048 || self.speed < 0 && self.x < 0) {
self.destroy();
}
};
});
// enemy_5 class
var enemy_5 = Container.expand(function () {
var self = Container.call(this);
var enemy_5Graphics = self.attachAsset('enemy_5', {
anchorX: 0.5,
anchorY: 0.5
});
self.speedX = (Math.random() - 0.5) * 10; // Random horizontal speed
self.speedY = (Math.random() - 0.5) * 10; // Random vertical speed
// Random initial position
if (Math.random() > 0.5) {
self.x = Math.random() * 2048;
self.y = Math.random() > 0.5 ? -50 : 2732 + 50;
} else {
self.x = Math.random() > 0.5 ? -50 : 2048 + 50;
self.y = Math.random() * 2732;
}
self.lives = 50; // Initialize lives for enemy_5
self.update = function () {
self.x += self.speedX;
self.y += self.speedY;
// Check if enemy_5 has moved off the screen
if (self.x < -50 || self.x > 2048 + 50 || self.y < -50 || self.y > 2732 + 50) {
self.destroy();
}
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
****/
// Function to spawn enemy_5
function spawnEnemy_5() {
var enemy = new enemy_5();
game.addChild(enemy);
enemy_5s.push(enemy);
}
// Function to spawn enemy_4
function spawnEnemy_4() {
var enemy = new enemy_4();
enemy.y = Math.random() * 2732; // Random y position
enemy.x = enemy.speed > 0 ? 0 : 2048; // Start from left or right based on speed
game.addChild(enemy);
}
function createExplosion(x, y) {
var explosion = LK.getAsset('explosion', {
anchorX: 0.5,
anchorY: 0.5,
x: x,
y: y
});
game.addChild(explosion);
LK.effects.flashObject(explosion, 0xFFFFFF, 100);
LK.setTimeout(function () {
explosion.destroy();
}, 100);
}
function forward_lazer() {
var bullet = new Bullet();
bullet.x = player.x;
bullet.y = player.y - 50;
bullet.power = 2;
bullet.attachAsset('bullet', {
anchorX: 0.5,
anchorY: 0.5
});
bullets.push(bullet);
game.addChild(bullet);
LK.getSound('Player_shoot').play();
}
function split_shot() {
var bullet1 = new Bullet();
bullet1.x = player.x - 80;
bullet1.y = player.y - 50;
bullet1.power = 1;
bullet1.speed_x = -0.9;
bullet1.attachAsset('bullet2', {
anchorX: 0.5,
anchorY: 0.5
});
var bullet2 = new Bullet();
bullet2.x = player.x + 80;
bullet2.y = player.y - 50;
bullet2.power = 1;
bullet2.speed_x = 0.9;
bullet2.attachAsset('bullet2', {
anchorX: 0.5,
anchorY: 0.5
});
bullets.push(bullet1);
bullets.push(bullet2);
game.addChild(bullet1);
game.addChild(bullet2);
}
var background = LK.getAsset('background', {
anchorX: 0.5,
anchorY: 0.5,
x: 2048 / 2,
y: 2732 / 2
});
game.addChild(background);
LK.playMusic('background_music', {
loop: true
});
function spawnPowerUp() {
var powerUp = new PowerUp();
powerUp.x = Math.random() * 2048;
powerUp.y = -50;
powerUps.push(powerUp);
game.addChild(powerUp);
}
// Function to spawn enemy_1s
function spawnEnemy_1() {
if (enemy_1s.length > 1 * enemy_1_wave_length) {
return;
}
var groupX = Math.random() * (2048 - enemy_1_movemwnt_amplitude * 2) + enemy_1_movemwnt_amplitude; // Generate a random x position for the group
for (var i = 0.0; i < enemy_1_wave_length; i++) {
var enemy = new enemy_1();
enemy.n = i;
enemy.y = -50 - i * 110; // Assign a slightly different y position to each enemy
enemy.xpos = groupX; // Assign the group x position to the enemy
enemy.group = enemy_1GroupCount; // Assign the group number to the enemy
enemy_1s.push(enemy);
game.addChild(enemy);
}
// Increment enemy_1 group counter
enemy_1GroupCount += 1;
}
// Function to spawn enemy_1s
function spawnEnemy_2() {
if (enemy_2s.length > 2 * enemy_2_wave_length) {
return;
}
if (LK.getScore() > 200) {
var groupX = Math.random() * (2048 - enemy_2_movemwnt_amplitude * 2) + enemy_2_movemwnt_amplitude; // Generate a random x position for the group
for (var i = 0.0; i < enemy_2_wave_length; i++) {
var groupX = Math.random() * (2048 - enemy_2_movemwnt_amplitude * 2) + enemy_2_movemwnt_amplitude; // Generate a random x position
var enemy = new enemy_2();
enemy.n = i;
enemy.y = -50 - i * 110; // Assign a slightly different y position to each enemy
enemy.xpos = groupX; // Assign the group x position to the enemy
enemy.group = enemy_2GroupCount; // Assign the group number to the enemy
enemy_2s.push(enemy);
game.addChild(enemy);
}
}
// Increment enemy_1 group counter
enemy_2GroupCount += 1;
}
// Function to spawn enemy_3s
function spawnEnemy_3() {
if (enemy_3s.length > 2 * enemy_3_wave_length) {
return;
}
if (LK.getScore() > 1000) {
var groupX = Math.random() * (2048 - enemy_3_movemwnt_amplitude * 2) + enemy_3_movemwnt_amplitude; // Generate a random x position for the group
odd = -1;
for (var i = 0.0; i < enemy_3_wave_length; i++) {
var enemy = new enemy_3();
enemy.n = i;
enemy.odd = odd;
enemy.y = -50 - i / 2 * 50; // Assign a slightly different y position to each enemy
enemy.xpos = groupX; // Assign the group x position to the enemy
enemy.group = enemy_3GroupCount; // Assign the group number to the enemy
enemy_3s.push(enemy);
game.addChild(enemy);
odd *= -1;
}
// Increment enemy_1 group counter
enemy_3GroupCount += 1;
}
}
var powerUpLevelText = new Text2('Power-Up Level: 0', {
size: 100,
fill: 0xFFFFFF
});
powerUpLevelText.anchor.set(0, 0);
LK.gui.topLeft.addChild(powerUpLevelText);
// Function to update the power-up level display
function updatePowerUpLevelDisplay() {
powerUpLevelText.setText('Power-Up Level: ' + poweruplevel);
}
// Example: Update power-up level when player collects a power-up
function onPowerUpCollected() {
poweruplevel += 1;
updatePowerUpLevelDisplay();
}
var scoreText = new Text2('Score: 0', {
size: 100,
fill: 0xFFFFFF
});
scoreText.anchor.set(1, 0);
LK.gui.topRight.addChild(scoreText);
// Function to update the score display
function updateScoreDisplay() {
scoreText.setText('Score: ' + LK.getScore());
}
// Update the score display whenever the score changes
LK.on('scoreChange', updateScoreDisplay);
/****
* Variables
****/
// Initialize player
var enemy_1_movemwnt_amplitude = 200;
var enemy_2_movemwnt_amplitude = 20;
var enemy_3_movemwnt_amplitude = 40;
var game_speed = 1.0;
var poweruplevel = 0;
var player = game.addChild(new Player());
player.x = 2048 / 2;
player.y = 2500;
// Initialize arrays
var bullets = [];
var powerUps = [];
// Initialize arrays for enemy_1 instances
var enemy_1s = [];
// Initialize arrays for enemy_2 instances
var enemy_2s = [];
// Initialize arrays for enemy_3 instances
var enemy_3s = [];
// Initialize arrays for enemy_5 instances
var enemy_5s = [];
// Initialize enemy_1 group counter
var enemy_1GroupCount = 0;
var enemy_2GroupCount = 0;
var enemy_3GroupCount = 0;
var enemy_1_wave_length = 5;
var enemy_2_wave_length = 5;
var enemy_3_wave_length = 14;
// Game update function
game.update = function () {
// Update enemy_1s
for (var i = enemy_1s.length - 1; i >= 0; i--) {
var enemy_1 = enemy_1s[i];
//enemy_1.update();
if (enemy_1.y > 2732) {
enemy_1.destroy();
enemy_1s.splice(i, 1);
}
}
// Update enemy_2s
for (var i = enemy_2s.length - 1; i >= 0; i--) {
var enemy_2 = enemy_2s[i];
//enemy_2.update();
if (enemy_2.y > 2732) {
enemy_2.destroy();
enemy_2s.splice(i, 1);
}
}
// Update enemy_3s
for (var i = enemy_3s.length - 1; i >= 0; i--) {
var enemy_3 = enemy_3s[i];
//enemy_3.update();
if (enemy_3.y > 2732) {
enemy_3.destroy();
enemy_3s.splice(i, 1);
}
}
// Update bullets
for (var j = bullets.length - 1; j >= 0; j--) {
var bullet = bullets[j];
bullet.update();
if (bullet.y < 0) {
bullet.destroy();
bullets.splice(j, 1);
}
}
// Update enemy_4s
for (var i = game.children.length - 1; i >= 0; i--) {
var child = game.children[i];
if (child instanceof enemy_4) {
child.update();
}
}
// Update enemy_5s
for (var i = enemy_5s.length - 1; i >= 0; i--) {
var enemy_5 = enemy_5s[i];
enemy_5.update();
if (enemy_5.x < -50 || enemy_5.x > 2048 + 50 || enemy_5.y < -50 || enemy_5.y > 2732 + 50) {
enemy_5.destroy();
enemy_5s.splice(i, 1);
}
}
// Update power-ups
for (var k = powerUps.length - 1; k >= 0; k--) {
var powerUp = powerUps[k];
powerUp.update();
if (powerUp.y > 2732) {
powerUp.destroy();
powerUps.splice(k, 1);
}
}
// Check for collisions
checkCollisions();
};
// Function to check for collisions
function checkCollisions() {
// Check bullet and enemy_4 collisions
for (var i = bullets.length - 1; i >= 0; i--) {
var bullet = bullets[i];
for (var j = game.children.length - 1; j >= 0; j--) {
var enemy_5 = game.children[j];
if (enemy_5 instanceof enemy_4 && bullet.intersects(enemy_5)) {
LK.getSound('bullet_hit').play();
LK.effects.flashObject(enemy_5, 0xFFFFFF, 100); // Flash enemy_4 white for 100ms
createExplosion(bullet.x, bullet.y);
bullet.destroy();
createExplosion(enemy_5.x, enemy_5.y);
enemy_5.destroy();
bullets.splice(i, 1);
LK.getSound('enemy_eplode').play();
LK.setScore(LK.getScore() + 15); // Increase score by 15 for enemy_4
updateScoreDisplay();
break;
}
}
}
// Check player and power-up collisions
for (var i = bullets.length - 1; i >= 0; i--) {
var bullet = bullets[i];
for (var j = enemy_1s.length - 1; j >= 0; j--) {
var enemy_1 = enemy_1s[j];
if (bullet.intersects(enemy_1)) {
LK.getSound('bullet_hit').play();
LK.effects.flashObject(enemy_1, 0xFFFFFF, 100); // Flash enemy_1 white for 100ms
createExplosion(bullet.x, bullet.y);
bullet.destroy();
createExplosion(enemy_1.x, enemy_1.y);
enemy_1.destroy();
bullets.splice(i, 1);
enemy_1s.splice(j, 1);
LK.getSound('enemy_eplode').play();
LK.setScore(LK.getScore() + 10); // Increase score by 10 for enemy_1
updateScoreDisplay(); // Update the score display
// Check if all enemies in the defeated enemy's group are also defeated
if (!enemy_1s.some(function (e) {
return e.group === enemy_1.group;
})) {
// If true, spawn a powerup
spawnPowerUp();
}
break;
}
}
}
// Check bullet and enemy_2 collisions
for (var i = bullets.length - 1; i >= 0; i--) {
var bullet = bullets[i];
for (var j = enemy_2s.length - 1; j >= 0; j--) {
var enemy_2 = enemy_2s[j];
if (bullet.intersects(enemy_2)) {
LK.getSound('bullet_hit').play();
LK.effects.flashObject(enemy_2, 0xFFFFFF, 100); // Flash enemy_2 white for 100ms
createExplosion(bullet.x, bullet.y);
bullet.destroy();
enemy_2.lives -= bullet.power;
if (enemy_2.lives < 0) {
var explosion2 = LK.getAsset('explosion2', {
anchorX: 0.5,
anchorY: 0.5,
x: enemy_2.x,
y: enemy_2.y
});
game.addChild(explosion2);
LK.effects.flashObject(explosion2, 0xFFFFFF, 100);
LK.setTimeout(function () {
explosion2.destroy();
}, 100);
enemy_2.destroy();
enemy_2s.splice(j, 1);
LK.getSound('enemy_eplode').play();
LK.setScore(LK.getScore() + 20 * bullet.power); // Increase score by 20 for enemy_2
updateScoreDisplay(); // Update the score display
if (!enemy_2s.some(function (e) {
return e.group === enemy_2.group;
})) {
// If true, spawn a powerup
spawnPowerUp();
}
} else {
bullets.splice(i, 1);
}
break;
}
}
}
// Check bullet and enemy_3 collisions
for (var i = bullets.length - 1; i >= 0; i--) {
var bullet = bullets[i];
for (var j = enemy_3s.length - 1; j >= 0; j--) {
var enemy_3 = enemy_3s[j];
if (bullet.intersects(enemy_3)) {
LK.getSound('bullet_hit').play();
LK.effects.flashObject(enemy_3, 0xFFFFFF, 100); // Flash enemy_3 white for 100ms
createExplosion(bullet.x, bullet.y);
bullet.destroy();
enemy_3.lives -= bullet.power;
if (enemy_3.lives < 0) {
var explosion2 = LK.getAsset('explosion2', {
anchorX: 0.5,
anchorY: 0.5,
x: enemy_3.x,
y: enemy_3.y
});
game.addChild(explosion2);
LK.effects.flashObject(explosion2, 0xFFFFFF, 100);
LK.setTimeout(function () {
explosion2.destroy();
}, 100);
createExplosion(enemy_3.x, enemy_3.y);
enemy_3.destroy();
enemy_3s.splice(j, 1);
LK.getSound('enemy_eplode').play();
LK.setScore(LK.getScore() + 50 * bullet.power); // Increase score by 20 for enemy_2
updateScoreDisplay(); // Update the score display
if (!enemy_3s.some(function (e) {
return e.group === enemy_3.group;
})) {
// If true, spawn a powerup
spawnPowerUp();
}
} else {
bullets.splice(i, 1);
}
break;
}
}
}
// Check player and enemy_4 bullet collisions
for (var i = game.children.length - 1; i >= 0; i--) {
var enemy_5 = game.children[i];
if (enemy_5 instanceof Bullet && enemy_5.speed_y > 0 && player.intersects(enemy_5)) {
var explosion2 = LK.getAsset('explosion2', {
anchorX: 0.5,
anchorY: 0.5,
x: player.x,
y: player.y
});
game.addChild(explosion2);
LK.effects.flashObject(explosion2, 0xFFFFFF, 100);
LK.setTimeout(function () {
explosion2.destroy();
}, 200);
player.destroy();
LK.getSound('player_dead').play();
LK.setTimeout(function () {
LK.showGameOver();
}, 3000); // Delay of 1000ms before showing game over
return;
}
}
// Check bullet and enemy_5 collisions
for (var i = bullets.length - 1; i >= 0; i--) {
var bullet = bullets[i];
for (var j = enemy_5s.length - 1; j >= 0; j--) {
var enemy_5 = enemy_5s[j];
if (bullet.intersects(enemy_5)) {
LK.getSound('bullet_hit').play();
LK.effects.flashObject(enemy_5, 0xFFFFFF, 100); // Flash enemy_5 white for 100ms
createExplosion(bullet.x, bullet.y);
bullet.destroy();
createExplosion(bullet.x, bullet.y);
bullet.destroy();
enemy_5.lives -= bullet.power; // Reduce lives by bullet power
if (enemy_5.lives <= 0) {
for (var i = 0; i < 5; i++) {
(function (i) {
LK.setTimeout(function () {
var offsetX = (Math.random() - 0.5) * 200; // Adjusted to 200 for closer explosions
var offsetY = (Math.random() - 0.5) * 200; // Adjusted to 200 for closer explosions
createExplosion(enemy_5.x + offsetX, enemy_5.y + offsetY);
}, Math.random() * 500); // Random delay up to 500ms
})(i);
}
// Check if lives are depleted
createExplosion(enemy_5.x, enemy_5.y);
var explosion2 = LK.getAsset('explosion2', {
anchorX: 0.5,
anchorY: 0.5,
x: enemy_5.x,
y: enemy_5.y
});
game.addChild(explosion2);
LK.effects.flashObject(explosion2, 0xFFFFFF, 100);
LK.setTimeout(function () {
explosion2.destroy();
}, 100);
createExplosion(enemy_5.x, enemy_5.y);
enemy_5.destroy();
LK.getSound('enemy_eplode').play();
LK.setScore(LK.getScore() + 25); // Increase score by 25 for enemy_5
updateScoreDisplay();
}
bullets.splice(i, 1);
break;
}
}
}
// Check player and power-up collisions
for (var k = powerUps.length - 1; k >= 0; k--) {
var powerUp = powerUps[k];
if (player.intersects(powerUp)) {
powerUp.destroy();
powerUps.splice(k, 1);
onPowerUpCollected();
}
}
// Check player and enemy collisions
for (var i = enemy_1s.length - 1; i >= 0; i--) {
var enemy_1 = enemy_1s[i];
if (player.intersects(enemy_1)) {
var explosion2 = LK.getAsset('explosion2', {
anchorX: 0.5,
anchorY: 0.5,
x: player.x,
y: player.y
});
game.addChild(explosion2);
LK.effects.flashObject(explosion2, 0xFFFFFF, 100);
LK.setTimeout(function () {
explosion2.destroy();
}, 200);
player.destroy();
LK.getSound('player_dead').play();
LK.setTimeout(function () {
LK.showGameOver();
}, 3000); // Delay of 1000ms before showing game over
return;
}
}
for (var i = enemy_2s.length - 1; i >= 0; i--) {
var enemy_2 = enemy_2s[i];
if (player.intersects(enemy_2)) {
LK.showGameOver();
return;
}
}
for (var i = enemy_3s.length - 1; i >= 0; i--) {
var enemy_3 = enemy_3s[i];
if (player.intersects(enemy_3)) {
LK.showGameOver();
return;
}
}
for (var i = game.children.length - 1; i >= 0; i--) {
var enemy_5 = game.children[i];
if (enemy_5 instanceof enemy_4 && player.intersects(enemy_5)) {
var explosion2 = LK.getAsset('explosion2', {
anchorX: 0.5,
anchorY: 0.5,
x: player.x,
y: player.y
});
game.addChild(explosion2);
LK.effects.flashObject(explosion2, 0xFFFFFF, 100);
LK.setTimeout(function () {
explosion2.destroy();
}, 200);
player.destroy();
LK.getSound('player_dead').play();
LK.setTimeout(function () {
LK.showGameOver();
}, 3000); // Delay of 1000ms before showing game over
return;
}
}
// Check player and enemy_5 collisions
for (var i = enemy_5s.length - 1; i >= 0; i--) {
var enemy_5 = enemy_5s[i];
if (player.intersects(enemy_5)) {
var explosion2 = LK.getAsset('explosion2', {
anchorX: 0.5,
anchorY: 0.5,
x: player.x,
y: player.y
});
game.addChild(explosion2);
LK.effects.flashObject(explosion2, 0xFFFFFF, 100);
LK.setTimeout(function () {
explosion2.destroy();
}, 200);
player.destroy();
LK.getSound('player_dead').play();
LK.setTimeout(function () {
LK.showGameOver();
}, 3000); // Delay of 1000ms before showing game over
return;
}
}
}
// Set intervals for spawning
//LK.setInterval(spawnEnemy_1, 4000);
//LK.setInterval(spawnEnemy_2, 5200);
//LK.setInterval(spawnEnemy_3, 6400);
//LK.setInterval(spawnEnemy_4, 5000);
LK.setInterval(spawnEnemy_5, 4000);
// Player controls
game.down = function (x, y, obj) {
player.x = x;
player.y = y;
};
game.move = function (x, y, obj) {
player.x = x;
player.y = y;
};
game.up = function (x, y, obj) {
player.shoot();
}; ===================================================================
--- original.js
+++ change.js
@@ -705,11 +705,11 @@
return;
}
}
// Check player and enemy_5 collisions
- for (var i = game.children.length - 1; i >= 0; i--) {
- var enemy_5 = game.children[i];
- if (enemy_5 instanceof enemy_5 && player.intersects(enemy_5)) {
+ for (var i = enemy_5s.length - 1; i >= 0; i--) {
+ var enemy_5 = enemy_5s[i];
+ if (player.intersects(enemy_5)) {
var explosion2 = LK.getAsset('explosion2', {
anchorX: 0.5,
anchorY: 0.5,
x: player.x,
spaceship, retro game, 2d. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
yellow ball. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
game flying saucer. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
star field. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
neon circle with a 'p'. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
fire explosion. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
double sided space ship. symetrical. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows, color, neon
hot stone, red. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
large rock. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows