User prompt
Score 1 point every enemy destroyed
User prompt
Create sound when enemy is destroyed
User prompt
Create sound effect when bullet is fired
User prompt
Bullets can kill bombs
User prompt
Allow enemy to drop bombs
User prompt
No points added when enemy passes you
User prompt
Add explosion sound when bullet hits enemy
User prompt
Make an explosion effect when bullet hits enemy
User prompt
Make enemies move faster every 20 points scored
User prompt
Speed background up every 50 pts
User prompt
Can we make the bullets fire from the cannon on the tank
User prompt
Move player back a little bit
User prompt
Fire bullets in direction of touch
User prompt
Touch screen to fire bullets
User prompt
No jumping
User prompt
Bullets fire up and right
User prompt
Score increase by 1 when bullet hits enemy
User prompt
Speed up background
User prompt
Make player jumps higher
User prompt
Enemies only in top half of screen
User prompt
Add more enemies every 10 points. Enemies can fly
User prompt
Create steady moving background that is stretched
User prompt
Activate moving background on loop ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Create moving background effect to make player seem to be moving forward ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Touch screen to shoot bullet
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ // Define a class for bullets var Bullet = Container.expand(function () { var self = Container.call(this); var bulletGraphics = self.attachAsset('bullet', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 10; self.update = function () { self.x += self.speed; if (self.x > 2048 + 50) { self.destroy(); } }; }); // Define a class for enemies var Enemy = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.update = function () { self.x -= self.speed; if (self.x < -50) { self.destroy(); } }; }); //<Assets used in the game will automatically appear here> // Define a class for the player character var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.jumpHeight = 40; self.isJumping = false; self.velocityY = 0; self.update = function () { if (self.isJumping) { self.y += self.velocityY; self.velocityY += 0.7; // Decreased gravity effect by 30% if (self.y >= 2732 / 2) { // Ground level self.y = 2732 / 2; self.isJumping = false; self.velocityY = 0; } } }; self.jump = function () { if (!self.isJumping) { self.isJumping = true; self.velocityY = -self.jumpHeight; } // Create a bullet when the player jumps var bullet = new Bullet(); bullet.x = self.x; bullet.y = self.y; game.addChild(bullet); }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB // Sky blue background }); /**** * Game Code ****/ var background = game.addChild(LK.getAsset('background', { anchorX: 0, anchorY: 0 })); background.x = 0; background.y = 0; background.speed = 2; // Initialize player var player = game.addChild(new Player()); player.x = 2048 / 2; player.y = 2732 / 2; // Initialize enemies var enemies = []; var enemySpawnInterval = 100; var enemySpawnCounter = 0; // Create a new Text2 object to display the score var scoreText = new Text2('0', { size: 100, fill: 0xFFFFFF }); // Add the score text to the game GUI at the top center of the screen LK.gui.top.addChild(scoreText); scoreText.x = 2048 / 2; scoreText.y = 0; // Handle game updates game.update = function () { player.update(); // Create a tween for the background to create a smooth scrolling effect if (background.x <= -2048) { tween(background, { x: 0 }, { duration: 2000 }); } else { tween(background, { x: background.x - background.speed }, { duration: 2000 }); } // Spawn enemies enemySpawnCounter++; if (enemySpawnCounter >= enemySpawnInterval) { var enemy = new Enemy(); enemy.x = 2048; enemy.y = 2732 / 2; enemies.push(enemy); game.addChild(enemy); // Randomize the spawn interval for the next enemy enemySpawnInterval = Math.floor(Math.random() * 150) + 50; enemySpawnCounter = 0; } // Update enemies for (var j = enemies.length - 1; j >= 0; j--) { enemies[j].update(); if (player.intersects(enemies[j])) { LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } else if (player.x > enemies[j].x && !enemies[j].passed) { enemies[j].passed = true; LK.setScore(LK.getScore() + 1); scoreText.setText(LK.getScore()); } // Check for bullet collision with enemies for (var i = game.children.length - 1; i >= 0; i--) { if (game.children[i] instanceof Bullet && game.children[i].intersects(enemies[j])) { game.children[i].destroy(); enemies[j].destroy(); enemies.splice(j, 1); // Increment score when bullet hits enemy LK.setScore(LK.getScore() + 1); scoreText.setText(LK.getScore()); break; } } } }; // Handle player jump game.down = function (x, y, obj) { var bullet = new Bullet(); bullet.x = player.x; bullet.y = player.y; game.addChild(bullet); };
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
/****
* Classes
****/
// Define a class for bullets
var Bullet = Container.expand(function () {
var self = Container.call(this);
var bulletGraphics = self.attachAsset('bullet', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 10;
self.update = function () {
self.x += self.speed;
if (self.x > 2048 + 50) {
self.destroy();
}
};
});
// Define a class for enemies
var Enemy = Container.expand(function () {
var self = Container.call(this);
var enemyGraphics = self.attachAsset('enemy', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 5;
self.update = function () {
self.x -= self.speed;
if (self.x < -50) {
self.destroy();
}
};
});
//<Assets used in the game will automatically appear here>
// Define a class for the player character
var Player = Container.expand(function () {
var self = Container.call(this);
var playerGraphics = self.attachAsset('player', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 5;
self.jumpHeight = 40;
self.isJumping = false;
self.velocityY = 0;
self.update = function () {
if (self.isJumping) {
self.y += self.velocityY;
self.velocityY += 0.7; // Decreased gravity effect by 30%
if (self.y >= 2732 / 2) {
// Ground level
self.y = 2732 / 2;
self.isJumping = false;
self.velocityY = 0;
}
}
};
self.jump = function () {
if (!self.isJumping) {
self.isJumping = true;
self.velocityY = -self.jumpHeight;
}
// Create a bullet when the player jumps
var bullet = new Bullet();
bullet.x = self.x;
bullet.y = self.y;
game.addChild(bullet);
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x87CEEB // Sky blue background
});
/****
* Game Code
****/
var background = game.addChild(LK.getAsset('background', {
anchorX: 0,
anchorY: 0
}));
background.x = 0;
background.y = 0;
background.speed = 2;
// Initialize player
var player = game.addChild(new Player());
player.x = 2048 / 2;
player.y = 2732 / 2;
// Initialize enemies
var enemies = [];
var enemySpawnInterval = 100;
var enemySpawnCounter = 0;
// Create a new Text2 object to display the score
var scoreText = new Text2('0', {
size: 100,
fill: 0xFFFFFF
});
// Add the score text to the game GUI at the top center of the screen
LK.gui.top.addChild(scoreText);
scoreText.x = 2048 / 2;
scoreText.y = 0;
// Handle game updates
game.update = function () {
player.update();
// Create a tween for the background to create a smooth scrolling effect
if (background.x <= -2048) {
tween(background, {
x: 0
}, {
duration: 2000
});
} else {
tween(background, {
x: background.x - background.speed
}, {
duration: 2000
});
}
// Spawn enemies
enemySpawnCounter++;
if (enemySpawnCounter >= enemySpawnInterval) {
var enemy = new Enemy();
enemy.x = 2048;
enemy.y = 2732 / 2;
enemies.push(enemy);
game.addChild(enemy);
// Randomize the spawn interval for the next enemy
enemySpawnInterval = Math.floor(Math.random() * 150) + 50;
enemySpawnCounter = 0;
}
// Update enemies
for (var j = enemies.length - 1; j >= 0; j--) {
enemies[j].update();
if (player.intersects(enemies[j])) {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
} else if (player.x > enemies[j].x && !enemies[j].passed) {
enemies[j].passed = true;
LK.setScore(LK.getScore() + 1);
scoreText.setText(LK.getScore());
}
// Check for bullet collision with enemies
for (var i = game.children.length - 1; i >= 0; i--) {
if (game.children[i] instanceof Bullet && game.children[i].intersects(enemies[j])) {
game.children[i].destroy();
enemies[j].destroy();
enemies.splice(j, 1);
// Increment score when bullet hits enemy
LK.setScore(LK.getScore() + 1);
scoreText.setText(LK.getScore());
break;
}
}
}
};
// Handle player jump
game.down = function (x, y, obj) {
var bullet = new Bullet();
bullet.x = player.x;
bullet.y = player.y;
game.addChild(bullet);
};
🔥 fire. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Mario driving a tank. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Wario flying an aeroplane. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Waluigi flying a helicopter. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows