User prompt
Skoten ska bara koma från planet
User prompt
Spelaren ska bara kunna vara på buren av skärmen
User prompt
Blå bakgrund med moln
User prompt
Skur hela tiden
User prompt
Kan du göra så att det fins fienden och en spelare
User prompt
Radera spelet
User prompt
När man dubbelklickar så skuts misilen
User prompt
Gör så att nosen spånar på 25 dödade fiender
User prompt
Gör så att bara bossen har misilern
User prompt
Gör så att man kan duka misilerna
User prompt
Sakta ner misiler
User prompt
Kan du göra så att visa fienden har missiler
User prompt
Kan du göra så att man kan sluta misilerna
User prompt
Kan du göra så att efter man har fått dödat 10 fienden så kan får man en missil och vidare
Code edit (1 edits merged)
Please save this source code
User prompt
Air Combat Squadron
Initial prompt
Kan du göra ett spel där man är ett militär plan och ska ta synder fiende miltär flyg plan
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
/****
* Classes
****/
var EnemyBullet = Container.expand(function () {
var self = Container.call(this);
var bulletGraphics = self.attachAsset('enemyBullet', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 8;
self.update = function () {
self.y += self.speed;
};
return self;
});
var EnemyJet = Container.expand(function () {
var self = Container.call(this);
var jetGraphics = self.attachAsset('enemyJet', {
anchorX: 0.5,
anchorY: 0.5
});
jetGraphics.rotation = Math.PI;
self.speed = 3;
self.health = 1;
self.lastShot = 0;
self.shootInterval = 90;
self.update = function () {
self.y += self.speed;
// Enemy shooting logic
self.lastShot++;
if (self.lastShot >= self.shootInterval && self.y > 100 && self.y < 2500) {
self.lastShot = 0;
var newBullet = new EnemyBullet();
newBullet.x = self.x;
newBullet.y = self.y + 40;
enemyBullets.push(newBullet);
game.addChild(newBullet);
}
};
return self;
});
var PlayerBullet = Container.expand(function () {
var self = Container.call(this);
var bulletGraphics = self.attachAsset('playerBullet', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = -12;
self.update = function () {
self.y += self.speed;
};
return self;
});
var PlayerJet = Container.expand(function () {
var self = Container.call(this);
var jetGraphics = self.attachAsset('playerJet', {
anchorX: 0.5,
anchorY: 0.5
});
self.health = 3;
self.lastShot = 0;
self.shootInterval = 15;
self.update = function () {
// Auto shooting
self.lastShot++;
if (self.lastShot >= self.shootInterval) {
self.lastShot = 0;
var newBullet = new PlayerBullet();
newBullet.x = self.x;
newBullet.y = self.y - 50;
playerBullets.push(newBullet);
game.addChild(newBullet);
LK.getSound('shoot').play();
}
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x1a237e
});
/****
* Game Code
****/
var player = game.addChild(new PlayerJet());
player.x = 1024;
player.y = 2400;
var enemies = [];
var playerBullets = [];
var enemyBullets = [];
var enemySpawnTimer = 0;
var waveLevel = 1;
var dragNode = null;
var scoreTxt = new Text2('Score: 0', {
size: 80,
fill: 0xFFFFFF
});
scoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreTxt);
var healthTxt = new Text2('Health: 3', {
size: 60,
fill: 0xFF4444
});
healthTxt.anchor.set(1, 0);
LK.gui.topRight.addChild(healthTxt);
function spawnEnemy() {
var enemy = new EnemyJet();
enemy.x = Math.random() * 1800 + 124;
enemy.y = -100;
enemy.speed = 2 + Math.random() * 3 + waveLevel * 0.5;
enemy.shootInterval = Math.max(60, 120 - waveLevel * 5);
enemies.push(enemy);
game.addChild(enemy);
}
function handleMove(x, y, obj) {
if (dragNode) {
dragNode.x = Math.max(60, Math.min(1988, x));
dragNode.y = Math.max(100, Math.min(2632, y));
}
}
game.move = handleMove;
game.down = function (x, y, obj) {
dragNode = player;
handleMove(x, y, obj);
};
game.up = function (x, y, obj) {
dragNode = null;
};
game.update = function () {
// Spawn enemies
enemySpawnTimer++;
var spawnRate = Math.max(30, 90 - waveLevel * 5);
if (enemySpawnTimer >= spawnRate) {
enemySpawnTimer = 0;
spawnEnemy();
// Increase difficulty every 10 enemies spawned
if (LK.ticks % 600 === 0) {
waveLevel++;
}
}
// Update player bullets
for (var i = playerBullets.length - 1; i >= 0; i--) {
var bullet = playerBullets[i];
if (bullet.lastY === undefined) bullet.lastY = bullet.y;
// Remove bullets that go off screen
if (bullet.y < -50) {
bullet.destroy();
playerBullets.splice(i, 1);
continue;
}
// Check collision with enemies
var hitEnemy = false;
for (var j = enemies.length - 1; j >= 0; j--) {
var enemy = enemies[j];
if (bullet.intersects(enemy)) {
// Enemy hit
LK.setScore(LK.getScore() + 100);
scoreTxt.setText('Score: ' + LK.getScore());
LK.getSound('enemyHit').play();
// Remove enemy and bullet
enemy.destroy();
enemies.splice(j, 1);
bullet.destroy();
playerBullets.splice(i, 1);
hitEnemy = true;
break;
}
}
if (!hitEnemy) {
bullet.lastY = bullet.y;
}
}
// Update enemy bullets
for (var i = enemyBullets.length - 1; i >= 0; i--) {
var bullet = enemyBullets[i];
if (bullet.lastY === undefined) bullet.lastY = bullet.y;
// Remove bullets that go off screen
if (bullet.y > 2800) {
bullet.destroy();
enemyBullets.splice(i, 1);
continue;
}
// Check collision with player
if (bullet.intersects(player)) {
player.health--;
healthTxt.setText('Health: ' + player.health);
LK.getSound('explosion').play();
LK.effects.flashObject(player, 0xff0000, 500);
bullet.destroy();
enemyBullets.splice(i, 1);
if (player.health <= 0) {
LK.showGameOver();
return;
}
continue;
}
bullet.lastY = bullet.y;
}
// Update enemies
for (var i = enemies.length - 1; i >= 0; i--) {
var enemy = enemies[i];
if (enemy.lastY === undefined) enemy.lastY = enemy.y;
// Remove enemies that go off screen
if (enemy.y > 2800) {
enemy.destroy();
enemies.splice(i, 1);
continue;
}
// Check collision with player
if (enemy.intersects(player)) {
player.health--;
healthTxt.setText('Health: ' + player.health);
LK.getSound('explosion').play();
LK.effects.flashObject(player, 0xff0000, 500);
enemy.destroy();
enemies.splice(i, 1);
if (player.health <= 0) {
LK.showGameOver();
return;
}
continue;
}
enemy.lastY = enemy.y;
}
}; ===================================================================
--- original.js
+++ change.js
@@ -1,6 +1,234 @@
-/****
+/****
+* Plugins
+****/
+var tween = LK.import("@upit/tween.v1");
+
+/****
+* Classes
+****/
+var EnemyBullet = Container.expand(function () {
+ var self = Container.call(this);
+ var bulletGraphics = self.attachAsset('enemyBullet', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.speed = 8;
+ self.update = function () {
+ self.y += self.speed;
+ };
+ return self;
+});
+var EnemyJet = Container.expand(function () {
+ var self = Container.call(this);
+ var jetGraphics = self.attachAsset('enemyJet', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ jetGraphics.rotation = Math.PI;
+ self.speed = 3;
+ self.health = 1;
+ self.lastShot = 0;
+ self.shootInterval = 90;
+ self.update = function () {
+ self.y += self.speed;
+ // Enemy shooting logic
+ self.lastShot++;
+ if (self.lastShot >= self.shootInterval && self.y > 100 && self.y < 2500) {
+ self.lastShot = 0;
+ var newBullet = new EnemyBullet();
+ newBullet.x = self.x;
+ newBullet.y = self.y + 40;
+ enemyBullets.push(newBullet);
+ game.addChild(newBullet);
+ }
+ };
+ return self;
+});
+var PlayerBullet = Container.expand(function () {
+ var self = Container.call(this);
+ var bulletGraphics = self.attachAsset('playerBullet', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.speed = -12;
+ self.update = function () {
+ self.y += self.speed;
+ };
+ return self;
+});
+var PlayerJet = Container.expand(function () {
+ var self = Container.call(this);
+ var jetGraphics = self.attachAsset('playerJet', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.health = 3;
+ self.lastShot = 0;
+ self.shootInterval = 15;
+ self.update = function () {
+ // Auto shooting
+ self.lastShot++;
+ if (self.lastShot >= self.shootInterval) {
+ self.lastShot = 0;
+ var newBullet = new PlayerBullet();
+ newBullet.x = self.x;
+ newBullet.y = self.y - 50;
+ playerBullets.push(newBullet);
+ game.addChild(newBullet);
+ LK.getSound('shoot').play();
+ }
+ };
+ return self;
+});
+
+/****
* Initialize Game
-****/
+****/
var game = new LK.Game({
- backgroundColor: 0x000000
-});
\ No newline at end of file
+ backgroundColor: 0x1a237e
+});
+
+/****
+* Game Code
+****/
+var player = game.addChild(new PlayerJet());
+player.x = 1024;
+player.y = 2400;
+var enemies = [];
+var playerBullets = [];
+var enemyBullets = [];
+var enemySpawnTimer = 0;
+var waveLevel = 1;
+var dragNode = null;
+var scoreTxt = new Text2('Score: 0', {
+ size: 80,
+ fill: 0xFFFFFF
+});
+scoreTxt.anchor.set(0.5, 0);
+LK.gui.top.addChild(scoreTxt);
+var healthTxt = new Text2('Health: 3', {
+ size: 60,
+ fill: 0xFF4444
+});
+healthTxt.anchor.set(1, 0);
+LK.gui.topRight.addChild(healthTxt);
+function spawnEnemy() {
+ var enemy = new EnemyJet();
+ enemy.x = Math.random() * 1800 + 124;
+ enemy.y = -100;
+ enemy.speed = 2 + Math.random() * 3 + waveLevel * 0.5;
+ enemy.shootInterval = Math.max(60, 120 - waveLevel * 5);
+ enemies.push(enemy);
+ game.addChild(enemy);
+}
+function handleMove(x, y, obj) {
+ if (dragNode) {
+ dragNode.x = Math.max(60, Math.min(1988, x));
+ dragNode.y = Math.max(100, Math.min(2632, y));
+ }
+}
+game.move = handleMove;
+game.down = function (x, y, obj) {
+ dragNode = player;
+ handleMove(x, y, obj);
+};
+game.up = function (x, y, obj) {
+ dragNode = null;
+};
+game.update = function () {
+ // Spawn enemies
+ enemySpawnTimer++;
+ var spawnRate = Math.max(30, 90 - waveLevel * 5);
+ if (enemySpawnTimer >= spawnRate) {
+ enemySpawnTimer = 0;
+ spawnEnemy();
+ // Increase difficulty every 10 enemies spawned
+ if (LK.ticks % 600 === 0) {
+ waveLevel++;
+ }
+ }
+ // Update player bullets
+ for (var i = playerBullets.length - 1; i >= 0; i--) {
+ var bullet = playerBullets[i];
+ if (bullet.lastY === undefined) bullet.lastY = bullet.y;
+ // Remove bullets that go off screen
+ if (bullet.y < -50) {
+ bullet.destroy();
+ playerBullets.splice(i, 1);
+ continue;
+ }
+ // Check collision with enemies
+ var hitEnemy = false;
+ for (var j = enemies.length - 1; j >= 0; j--) {
+ var enemy = enemies[j];
+ if (bullet.intersects(enemy)) {
+ // Enemy hit
+ LK.setScore(LK.getScore() + 100);
+ scoreTxt.setText('Score: ' + LK.getScore());
+ LK.getSound('enemyHit').play();
+ // Remove enemy and bullet
+ enemy.destroy();
+ enemies.splice(j, 1);
+ bullet.destroy();
+ playerBullets.splice(i, 1);
+ hitEnemy = true;
+ break;
+ }
+ }
+ if (!hitEnemy) {
+ bullet.lastY = bullet.y;
+ }
+ }
+ // Update enemy bullets
+ for (var i = enemyBullets.length - 1; i >= 0; i--) {
+ var bullet = enemyBullets[i];
+ if (bullet.lastY === undefined) bullet.lastY = bullet.y;
+ // Remove bullets that go off screen
+ if (bullet.y > 2800) {
+ bullet.destroy();
+ enemyBullets.splice(i, 1);
+ continue;
+ }
+ // Check collision with player
+ if (bullet.intersects(player)) {
+ player.health--;
+ healthTxt.setText('Health: ' + player.health);
+ LK.getSound('explosion').play();
+ LK.effects.flashObject(player, 0xff0000, 500);
+ bullet.destroy();
+ enemyBullets.splice(i, 1);
+ if (player.health <= 0) {
+ LK.showGameOver();
+ return;
+ }
+ continue;
+ }
+ bullet.lastY = bullet.y;
+ }
+ // Update enemies
+ for (var i = enemies.length - 1; i >= 0; i--) {
+ var enemy = enemies[i];
+ if (enemy.lastY === undefined) enemy.lastY = enemy.y;
+ // Remove enemies that go off screen
+ if (enemy.y > 2800) {
+ enemy.destroy();
+ enemies.splice(i, 1);
+ continue;
+ }
+ // Check collision with player
+ if (enemy.intersects(player)) {
+ player.health--;
+ healthTxt.setText('Health: ' + player.health);
+ LK.getSound('explosion').play();
+ LK.effects.flashObject(player, 0xff0000, 500);
+ enemy.destroy();
+ enemies.splice(i, 1);
+ if (player.health <= 0) {
+ LK.showGameOver();
+ return;
+ }
+ continue;
+ }
+ enemy.lastY = enemy.y;
+ }
+};
\ No newline at end of file
Moln. In-Game asset. 2d. High contrast. No shadows
Moln. In-Game asset. 2d. High contrast. No shadows
Misil rikdad upp. In-Game asset. 2d. High contrast. No shadows
F-22 upp ifrån. In-Game asset. 2d. High contrast. No shadows
SR-71 uppifrån. In-Game asset. 2d. High contrast. No shadows
B-2 uppifrån. In-Game asset. 2d. High contrast. No shadows
Explosion. In-Game asset. 2d. High contrast. No shadows
A-10 uppifrån. In-Game asset. 2d. High contrast. No shadows