User prompt
destroy de bullet when it hits a enemy
User prompt
the herobullet must delete when it hits a enemy
User prompt
the hero must delete when it hits a enemy
User prompt
Destroy bullet when it hits an enemy
User prompt
als de bullet een enemy raakt gaat ook de bullet kapot
User prompt
Fix Bug: 'TypeError: Cannot read properties of undefined (reading 'x')' in this line: 'explosion.x = enemies[e].x;' Line Number: 191
User prompt
when the bullet hit the enemy delete the enemy
User prompt
remove the enemy when he is dead
User prompt
de enemy moet gedelete worden wanneer hij de bullet raakt en als de enemy dood is komt de animatie
User prompt
zorg dat de enemy ook verdwijnt als de animatie er is
User prompt
zorg dat er een animatie komt na het killen van een enemy
User prompt
Fix Bug: 'ReferenceError: hero is not defined' in this line: 'hero.update();' Line Number: 143
User prompt
Fix Bug: 'Uncaught ReferenceError: enemies is not defined' in this line: 'enemies.push(newEnemy);' Line Number: 103
User prompt
Fix Bug: 'Uncaught ReferenceError: enemies is not defined' in this line: 'enemies.push(newEnemy);' Line Number: 102
User prompt
Fix Bug: 'Uncaught ReferenceError: enemies is not defined' in this line: 'enemies.push(newEnemy);' Line Number: 101
User prompt
maak een start button
User prompt
make a scene for the game is starting
User prompt
Fix Bug: 'Uncaught ReferenceError: filters is not defined' in this line: 'self.blur = new filters.BlurFilter();' Line Number: 68
User prompt
Fix Bug: 'Uncaught ReferenceError: filters is not defined' in this line: 'self.blur = new filters.BlurFilter();' Line Number: 68
User prompt
Fix Bug: 'Uncaught ReferenceError: filters is not defined' in this line: 'self.blur = new filters.BlurFilter();' Line Number: 68
User prompt
Fix Bug: 'Uncaught ReferenceError: filters is not defined' in this line: 'self.blur = new filters.BlurFilter();' Line Number: 68
User prompt
Adding a play button and blurring the game until the play button is clicked.
User prompt
make the game blur and make a play button and when you click on start the game begin
User prompt
maak de wall groter
User prompt
dan moet de enemy enemys gedelete zijn en de aninematie ook
var Wall = Container.expand(function () {
var self = Container.call(this);
self.createAsset('wall', 'Wall', 0, 0);
self.isBarrier = true;
});
var HeroBullet = Container.expand(function () {
var self = Container.call(this);
var bulletGraphics = self.createAsset('heroBullet', 'Hero Bullet Graphics', .5, .5);
self.speed = -10;
self.move = function () {
self.x += self.speedX;
self.y += self.speedY;
};
self.timer = LK.setTimeout(function () {
self.destroy();
}, 5000);
});
var EnemyBullet = Container.expand(function () {
var self = Container.call(this);
var bulletGraphics = self.createAsset('enemyBullet', 'Enemy Bullet Graphics', .5, .5);
self.speed = 10;
self.move = function () {
self.x += self.speed;
};
self.timer = LK.setTimeout(function () {
self.destroy();
}, 5000);
});
var Hero = Container.expand(function () {
var self = Container.call(this);
self.update = function () {
if (self.dx && self.dy) {
self.x -= self.dx;
self.y -= self.dy;
self.dx *= 0.95;
self.dy *= 0.95;
if (Math.abs(self.dx) < 0.01 && Math.abs(self.dy) < 0.01) {
self.dx = 0;
self.dy = 0;
}
}
};
var heroGraphics = self.createAsset('hero', 'Hero character', .5, .5);
heroGraphics.rotation = 42 * (Math.PI / 180);
self.knockback = function (dx, dy) {
self.dx = -dx * 116.886 * 3.645;
self.dy = -dy * 116.886 * 3.645;
};
});
var Enemy = Container.expand(function () {
var self = Container.call(this);
self.graphics = self.createAsset('enemy', 'Enemy character', .5, .5);
self.followHero = function (hero) {
var dx = hero.x - self.x;
var dy = hero.y - self.y;
var mag = Math.sqrt(dx * dx + dy * dy);
self.x += 3.85 * dx / mag;
self.y += 3.85 * dy / mag;
};
});
var Game = Container.expand(function () {
var self = Container.call(this);
LK.stageContainer.setBackgroundColor(0x000000);
var hero = self.addChild(new Hero());
var enemies = [];
hero.x = 1024;
hero.y = 1366;
var leftWall = self.addChild(new Wall());
leftWall.width = 40.96;
leftWall.height = 2732;
leftWall.x = 0;
leftWall.y = 0;
var rightWall = self.addChild(new Wall());
rightWall.width = 40.96;
rightWall.height = 2732;
rightWall.x = 2048 - 40.96;
rightWall.y = 0;
var topWall = self.addChild(new Wall());
topWall.width = 2048;
topWall.height = 54.64;
topWall.x = 0;
topWall.y = 0;
var bottomWall = self.addChild(new Wall());
bottomWall.width = 2048;
bottomWall.height = 54.64;
bottomWall.x = 0;
bottomWall.y = 2732 - 54.64;
var spawnEnemy = function () {
var newEnemy = self.addChild(new Enemy());
newEnemy.x = Math.random() * 2048;
newEnemy.y = Math.random() * 2732;
newEnemy.scale.x = newEnemy.scale.y = Math.random() * 2 + 0.5;
enemies.push(newEnemy);
};
spawnEnemy();
var enemySpawnInterval = LK.setInterval(spawnEnemy, 7000);
var heroBullets = [];
var enemyBullets = [];
var isGameOver = false;
var tickOffset = 0;
var fpsCounter = new Text2('0', {
size: 50,
fill: '#ffffff'
});
LK.gui.topCenter.addChild(fpsCounter);
var gameTimerCounter = new Text2('0', {
size: 50,
fill: '#ffffff'
});
gameTimerCounter.x = -50;
LK.gui.topRight.addChild(gameTimerCounter);
var gameStartTime = Date.now();
var lastTick = Date.now();
var frameCount = 0;
LK.on('tick', function () {
if (isGameOver) {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
}
frameCount++;
var now = Date.now();
if (now - lastTick >= 1000) {
fpsCounter.setText(frameCount);
frameCount = 0;
lastTick = now;
var gameElapsedTime = Math.floor((Date.now() - gameStartTime) / 1000);
gameTimerCounter.setText(gameElapsedTime.toString());
}
hero.update();
if (hero.x < leftWall.width + 0.025 * 2048) hero.x = leftWall.width + 0.025 * 2048;
if (hero.x > 2048 - rightWall.width - 0.025 * 2048) hero.x = 2048 - rightWall.width - 0.025 * 2048;
if (hero.y < topWall.height + 0.025 * 2732) hero.y = topWall.height + 0.025 * 2732;
if (hero.y > 2732 - bottomWall.height - 0.025 * 2732) hero.y = 2732 - bottomWall.height - 0.025 * 2732;
enemies.forEach(function (enemy, index) {
enemy.followHero(hero);
for (var i = 0; i < enemies.length; i++) {
if (i !== index) {
var other = enemies[i];
var dx = enemy.x - other.x;
var dy = enemy.y - other.y;
var distance = Math.sqrt(dx * dx + dy * dy);
if (distance < enemy.graphics.width) {
var overlap = enemy.graphics.width - distance;
var adjustX = overlap / 2 * (dx / distance);
var adjustY = overlap / 2 * (dy / distance);
enemy.x += adjustX;
enemy.y += adjustY;
other.x -= adjustX;
other.y -= adjustY;
}
}
}
});
for (var a = heroBullets.length - 1; a >= 0; a--) {
heroBullets[a].move();
if (heroBullets[a].y < 0 || heroBullets[a].y > 2732 || heroBullets[a].x < 0 || heroBullets[a].x > 2048) {
heroBullets[a].destroy();
heroBullets.splice(a, 1);
}
for (var b = enemyBullets.length - 1; b >= 0; b--) {
if (heroBullets[a].intersects(enemyBullets[b])) {
heroBullets[a].destroy();
enemyBullets[b].destroy();
heroBullets.splice(a, 1);
enemyBullets.splice(b, 1);
break;
}
}
for (var e = enemies.length - 1; e >= 0; e--) {
if (heroBullets[a] && enemies[e] && heroBullets[a].intersects(enemies[e])) {
heroBullets[a].destroy();
enemies[e].destroy();
heroBullets.splice(a, 1);
enemies.splice(e, 1);
break;
}
}
}
for (var a = enemyBullets.length - 1; a >= 0; a--) {
if (enemyBullets[a]) {
enemyBullets[a].move();
if (enemyBullets[a].y > 2732 + 50) {
enemyBullets[a].destroy();
enemyBullets.splice(a, 1);
}
}
}
var lastBulletTime = 0;
var bulletFireRate = 1000;
var lastBulletTime = 0;
var bulletFireRate = 500;
var lastBulletTime = 0;
var lastTouchTime = 0;
var touchDelay = 10000;
stage.on('down', function (obj) {
var now = Date.now();
if (now - lastTouchTime < touchDelay) return;
lastTouchTime = now;
if (now - lastBulletTime < bulletFireRate) return;
lastBulletTime = now;
var event = obj.event;
var pos = event.getLocalPosition(self);
var newBullet = new HeroBullet();
newBullet.x = hero.x;
newBullet.y = hero.y;
var dx = pos.x - hero.x;
var dy = pos.y - hero.y;
var mag = Math.sqrt(dx * dx + dy * dy);
newBullet.speedX = 10 * dx / mag;
newBullet.speedY = 10 * dy / mag;
heroBullets.push(newBullet);
self.addChild(newBullet);
hero.knockback(-dx / (mag * 10), -dy / (mag * 10));
if (dx < 0) {
hero.scale.x = 1;
} else {
hero.scale.x = -1;
}
});
});
});
watergun Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
water ball Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
water health bar Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
fire Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
blue play button Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
explosion smoke Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.