User prompt
remove de barriers en maak de wall als barrier
User prompt
place wall on every side of de screen
User prompt
mijn hero gaat automatchies naar boven en dat moet niet hij moet zoals altijd werken
User prompt
zorg dat een barrier aan elke kant zit een genaamt wall
User prompt
Fix Bug: 'TypeError: Cannot read properties of undefined (reading 'height')' in this line: 'self.y = Math.max(self.height * 0.5 + self.topBarrier.height, Math.min(self.y, 2732 - self.height * 0.5 - self.bottomBarrier.height));' Line Number: 39
User prompt
Fix Bug: 'TypeError: Cannot read properties of undefined (reading 'width')' in this line: 'self.x = Math.max(self.width * 0.5 + self.leftBarrier.width, Math.min(self.x, 2048 - self.width * 0.5 - self.rightBarrier.width));' Line Number: 38
User prompt
Fix Bug: 'ReferenceError: leftBarrier is not defined' in this line: 'self.x = Math.max(self.width * 0.5 + leftBarrier.width, Math.min(self.x, 2048 - self.width * 0.5 - rightBarrier.width));' Line Number: 38
User prompt
Zorg dat ik die blauw barrier aan raak en niet door heen ga
User prompt
zorg er voor dat er een blauwe balk aan elke kant zit van 2% wat als barrier wordt gezien maak dit ook boven en beneden
User prompt
zorg er voor dat er een blauwe balk aan elke kant zit van 2% wat als barrier wordt gezien
User prompt
zorg er voor dat de hero niet van het scherm af kan
User prompt
aan de linker kant van het scherm zie ik me hero niet kan je de dikte iets meer aan passen
User prompt
aan de linker kant van het scherm zie ik me hero niet kan je de dikte iets meer aan passen
User prompt
zorg dat de hero niet van de map af kan en dat er aan elke kant een barrier zit van 2 dikkte
User prompt
zorg dat er aan elke kant een barrier staat
User prompt
zorg dat er nog 5% ruimte tussen de hero en de barrier zit
User prompt
flip now de hero
User prompt
Fix Bug: 'TypeError: Cannot read properties of undefined (reading 'scale')' in this line: 'hero.graphics.scale.x = -1;' Line Number: 160
User prompt
elke keer als ik met me touch de andere kant aanraak dan flipt mijn hero
User prompt
Rotate the hero by 42 degrees
User prompt
Rotate the hero by 2 degrees
User prompt
org dat de hero een 45 graden draait
User prompt
zorg dat de hero een halve kwart draait
User prompt
increase de knockback speed
User prompt
zorg voor een g Force phisics
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;
}
}
self.dy += 0.1;
self.x = Math.max(0 + self.width * 0.5 + 2048 * 0.02, Math.min(self.x, 2048 - self.width * 0.5 - 2048 * 0.02));
self.y = Math.max(0 + self.height * 0.5 + 2732 * 0.02, Math.min(self.y, 2732 - self.height * 0.5 - 2732 * 0.02));
};
var heroGraphics = self.createAsset('hero', 'Hero character', .5, .5);
self.knockback = function (dx, dy) {
self.dx = -dx * 116.886 * 1.5;
self.dy = -dy * 116.886 * 1.5;
};
});
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 spawnEnemy = function () {
var newEnemy = self.addChild(new Enemy());
newEnemy.x = Math.random() * 2048;
newEnemy.y = Math.random() * 2732;
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();
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 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 lastShot = 0;
var bulletCount = 0;
stage.on('down', function (obj) {
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));
});
LK.on('tick', function () {
if (bulletCount > 0) bulletCount--;
});
});
});
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.