User prompt
create a blast sound effect
User prompt
make the game lively
User prompt
reduce asteroid spawning rate slightly
User prompt
increase the asteroid spawning
User prompt
increase the difficulty in this game
User prompt
fix the background quality issues
User prompt
duplicate and blend the same background after the ending
User prompt
make this background lively
User prompt
lively background
Code edit (6 edits merged)
Please save this source code
User prompt
make both background visible
User prompt
make both background visible
User prompt
make the background spawn seamlessly without snapping to the screen
User prompt
scroll the background
User prompt
spawn background on top of background
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
User prompt
scroll the background and loop the background
User prompt
scroll the background and loop the background
User prompt
resize the image without lossing the quality
User prompt
change the asteroid points in to 50
User prompt
stop only the background movement
User prompt
scale the background with the screen
User prompt
fit the background entirely with the screen
User prompt
move every thing except player and background continously downwards to the screen endlesslt
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ // Asteroid class var Asteroid = Container.expand(function () { var self = Container.call(this); // Attach asteroid asset var asteroidGraphics = self.attachAsset('asteroid', { anchorX: 0.5, anchorY: 0.5 }); // Set asteroid speed self.speed = 3; // Update function called every game tick self.update = function () { // Move asteroid based on speed self.y += self.speed; // Destroy asteroid when it gets out of player screen if (self.y > 2732) { self.destroy(); } // Check for collision with player if (self.intersects(player)) { // Add a blasting effect var blast = self.attachAsset('blast', { anchorX: 0.5, anchorY: 0.5 }); blast.x = player.x; blast.y = player.y; game.addChild(blast); // Destroy the blast effect after a short delay LK.setTimeout(function () { blast.destroy(); }, 500); // Trigger game over when asteroid hits player LK.showGameOver(); } }; }); // Bullet class var Bullet = Container.expand(function () { var self = Container.call(this); // Attach bullet asset var bulletGraphics = self.attachAsset('bullet', { anchorX: 0.5, anchorY: 0.5 }); // Set bullet speed self.speed = -14; // Update function called every game tick self.update = function () { self.y += self.speed; // Check for collision with enemy and asteroid var targets = game.children.filter(function (child) { return child instanceof Enemy || child instanceof Asteroid; }); for (var i = 0; i < targets.length; i++) { var target = targets[i]; if (self.intersects(target)) { // Destroy target and bullet on collision target.destroy(); self.destroy(); // Increase score by 50 points when target dies LK.setScore(LK.getScore() + 50); // Update the scoreboard scoreTxt.setText(LK.getScore()); // Add a blasting effect var blast = self.attachAsset('blast', { anchorX: 0.5, anchorY: 0.5 }); blast.x = self.x; blast.y = self.y; game.addChild(blast); // Destroy the blast effect after a short delay LK.setTimeout(function () { blast.destroy(); }, 500); break; } } // Destroy bullet when it gets out of player screen if (self.y < 0 || self.y > 2732) { self.destroy(); } }; }); // Enemy class var Enemy = Container.expand(function () { var self = Container.call(this); // Attach enemy asset var enemyGraphics = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 0.5 }); // Set enemy speed self.speed = 5; // Update function called every game tick self.update = function () { // Move enemy based on speed self.y += self.speed; // Destroy enemy when it gets out of player screen if (self.y > 2732) { self.destroy(); } // Enemy fires a bullet every 60 ticks if (LK.ticks % 60 == 0) { var enemyBullet = game.addChild(new EnemyBullet()); // Set bullet initial position to enemy's position enemyBullet.x = self.x; enemyBullet.y = self.y; // Set bullet speed to move downwards enemyBullet.speed = 6; } }; }); // EnemyBullet class var EnemyBullet = Container.expand(function () { var self = Container.call(this); // Attach bullet asset var bulletGraphics = self.attachAsset('bullet', { anchorX: 0.5, anchorY: 0.5 }); // Set bullet speed self.speed = 5; // Update function called every game tick self.update = function () { self.y += self.speed; // Check for collision with player if (self.intersects(player)) { // Add a blasting effect var blast = self.attachAsset('blast', { anchorX: 0.5, anchorY: 0.5 }); blast.x = player.x; blast.y = player.y; game.addChild(blast); // Destroy the blast effect after a short delay LK.setTimeout(function () { blast.destroy(); }, 500); // Trigger game over when bullet hits player LK.showGameOver(); } }; }); // Player class var Player = Container.expand(function () { var self = Container.call(this); // Attach player asset var playerGraphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5 }); // Set player speed self.speed = 5; // Update function called every game tick self.update = function () { // Player movement is handled in game.move event }; }); /**** * Initialize Game ****/ //<Assets used in the game will automatically appear here> //<Write imports for supported plugins here> var game = new LK.Game(); /**** * Game Code ****/ //<Write imports for supported plugins here> //<Assets used in the game will automatically appear here> //<Write imports for supported plugins here> //<Assets used in the game will automatically appear here> var background = game.attachAsset('background', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: 1366, scaleX: game.width / LK.getAsset('background', {}).width, scaleY: game.height / LK.getAsset('background', {}).height }); // Create a scoreboard and display it on the screen var scoreTxt = new Text2('0', { size: 150, fill: 0xFFFFFF }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); game.update = function () { // Spawn an enemy and an asteroid every 60 ticks if (LK.ticks % 60 == 0) { var enemy = game.addChild(new Enemy()); // Set enemy initial position enemy.x = Math.random() * 2048; enemy.y = 0; var asteroid = game.addChild(new Asteroid()); // Set asteroid initial position asteroid.x = Math.random() * 2048; asteroid.y = 0; } // Move everything except player continuously downwards game.children.forEach(function (child) { if (!(child instanceof Player)) { child.y += 5; if (child === background && child.y >= game.height) { // Reset background position to create a looping effect child.y = 0; } } }); }; var player = game.addChild(new Player()); // Set player initial position player.x = 1024; player.y = 2732 - player.height / 2 - 300; // Add mouse move event to the game game.move = function (x, y, obj) { // Move player only on x axis player.x = x; }; game.down = function (x, y, obj) { // Create a bullet instance var bullet = game.addChild(new Bullet()); // Set bullet initial position to player's position bullet.x = player.x; bullet.y = player.y; }; // Update the scoreboard every game tick scoreTxt.setText(LK.getScore());
===================================================================
--- original.js
+++ change.js
@@ -181,26 +181,16 @@
//<Write imports for supported plugins here>
//<Assets used in the game will automatically appear here>
//<Write imports for supported plugins here>
//<Assets used in the game will automatically appear here>
-var background1 = game.attachAsset('background', {
+var background = game.attachAsset('background', {
anchorX: 0.5,
anchorY: 0.5,
x: 1024,
y: 1366,
scaleX: game.width / LK.getAsset('background', {}).width,
scaleY: game.height / LK.getAsset('background', {}).height
});
-var background2 = game.attachAsset('background', {
- anchorX: 0.5,
- anchorY: 0.5,
- x: 1024,
- y: 1366 - game.height,
- // Position the second background above the first
- scaleX: game.width / LK.getAsset('background', {}).width,
- scaleY: game.height / LK.getAsset('background', {}).height
-});
-game.addChild(background2);
// Create a scoreboard and display it on the screen
var scoreTxt = new Text2('0', {
size: 150,
fill: 0xFFFFFF
@@ -222,14 +212,11 @@
// Move everything except player continuously downwards
game.children.forEach(function (child) {
if (!(child instanceof Player)) {
child.y += 5;
- }
- if (child === background1 || child === background2) {
- child.y += 5;
- if (child.y >= game.height) {
- // Reset background position to create a seamless scrolling effect
- child.y -= 1 * game.height;
+ if (child === background && child.y >= game.height) {
+ // Reset background position to create a looping effect
+ child.y = 0;
}
}
});
};
Space craft in facing forward. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
spacecraft in 4k
fire blast. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
asteroid. Single Game Texture. In-Game asset. 2d. No shadows
dark nebula galaxy 4k. Single Game Texture. In-Game asset. 2d. Blank background. No shadows