User prompt
Separate the hearts counter and make them heart shaped
User prompt
Add hearts that came and the user couñd grb them and win life also make the life hearts bigger ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Keep shooting when user keep his finger on screen
User prompt
Make a life counter with 3 hearts and just lose 1 heart when hitted
User prompt
Put instructions on screen
User prompt
One tap jump keep the tap and shoot
User prompt
One tap jump two taps shoot
User prompt
Only shoot strs when double tap
User prompt
The shooting starts when double tap
User prompt
Make the character to be able to advance and move with the finger and shoot stars
Remix started
Copy Mario vs Monsters
/**** * Classes ****/ // 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; } }; }); // Define a class for star bullets var Star = Container.expand(function () { var self = Container.call(this); // Create a yellow star shape using the built-in shape feature var starGraphics = self.attachAsset('star', { width: 50, height: 50, color: 0xffff00, shape: 'box', anchorX: 0.5, anchorY: 0.5 }); self.speed = 10; // Store the last position for collision detection self.lastY = self.y; self.lastX = self.x; self.update = function () { // Store last position before update self.lastY = self.y; self.lastX = self.x; // Move the star forward self.x += self.speed; // Remove if it goes off-screen if (self.x > 2048 + 50) { self.destroy(); } }; return self; }); /**** * 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; // 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 // Array to store bullets var stars = []; var shootTimer = 0; game.update = function () { player.update(); // Auto-shoot stars every 30 ticks shootTimer++; if (shootTimer >= 30) { var star = new Star(); star.x = player.x + 100; star.y = player.y; stars.push(star); game.addChild(star); shootTimer = 0; // Play shooting sound LK.getSound('shoot').play(); } // Update stars for (var i = stars.length - 1; i >= 0; i--) { stars[i].update(); // Remove stars that are destroyed if (!stars[i].parent) { stars.splice(i, 1); continue; } // Check for star-enemy collisions for (var j = enemies.length - 1; j >= 0; j--) { if (stars[i] && enemies[j] && stars[i].intersects(enemies[j])) { // Remove the enemy and the star enemies[j].destroy(); enemies.splice(j, 1); stars[i].destroy(); stars.splice(i, 1); // Update score LK.setScore(LK.getScore() + 1); scoreText.setText(LK.getScore()); break; } } } // 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()); } } }; // Handle player interaction var dragNode = null; // Function to handle movement function handleMove(x, y, obj) { if (dragNode) { dragNode.x = x; // Keep the player at the same vertical position dragNode.y = 2732 / 2; } } // Start tracking player movement on touch down game.down = function (x, y, obj) { dragNode = player; handleMove(x, y, obj); }; // Update player position during movement game.move = handleMove; // Stop tracking player movement on touch up game.up = function (x, y, obj) { dragNode = null; };
===================================================================
--- original.js
+++ change.js
@@ -46,8 +46,37 @@
self.velocityY = -self.jumpHeight;
}
};
});
+// Define a class for star bullets
+var Star = Container.expand(function () {
+ var self = Container.call(this);
+ // Create a yellow star shape using the built-in shape feature
+ var starGraphics = self.attachAsset('star', {
+ width: 50,
+ height: 50,
+ color: 0xffff00,
+ shape: 'box',
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.speed = 10;
+ // Store the last position for collision detection
+ self.lastY = self.y;
+ self.lastX = self.x;
+ self.update = function () {
+ // Store last position before update
+ self.lastY = self.y;
+ self.lastX = self.x;
+ // Move the star forward
+ self.x += self.speed;
+ // Remove if it goes off-screen
+ if (self.x > 2048 + 50) {
+ self.destroy();
+ }
+ };
+ return self;
+});
/****
* Initialize Game
****/
@@ -74,17 +103,55 @@
var enemySpawnCounter = 0;
// Create a new Text2 object to display the score
var scoreText = new Text2('0', {
size: 100,
- fill: "#ffffff"
+ 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
+// Array to store bullets
+var stars = [];
+var shootTimer = 0;
game.update = function () {
player.update();
+ // Auto-shoot stars every 30 ticks
+ shootTimer++;
+ if (shootTimer >= 30) {
+ var star = new Star();
+ star.x = player.x + 100;
+ star.y = player.y;
+ stars.push(star);
+ game.addChild(star);
+ shootTimer = 0;
+ // Play shooting sound
+ LK.getSound('shoot').play();
+ }
+ // Update stars
+ for (var i = stars.length - 1; i >= 0; i--) {
+ stars[i].update();
+ // Remove stars that are destroyed
+ if (!stars[i].parent) {
+ stars.splice(i, 1);
+ continue;
+ }
+ // Check for star-enemy collisions
+ for (var j = enemies.length - 1; j >= 0; j--) {
+ if (stars[i] && enemies[j] && stars[i].intersects(enemies[j])) {
+ // Remove the enemy and the star
+ enemies[j].destroy();
+ enemies.splice(j, 1);
+ stars[i].destroy();
+ stars.splice(i, 1);
+ // Update score
+ LK.setScore(LK.getScore() + 1);
+ scoreText.setText(LK.getScore());
+ break;
+ }
+ }
+ }
// Spawn enemies
enemySpawnCounter++;
if (enemySpawnCounter >= enemySpawnInterval) {
var enemy = new Enemy();
@@ -108,8 +175,25 @@
scoreText.setText(LK.getScore());
}
}
};
-// Handle player jump
+// Handle player interaction
+var dragNode = null;
+// Function to handle movement
+function handleMove(x, y, obj) {
+ if (dragNode) {
+ dragNode.x = x;
+ // Keep the player at the same vertical position
+ dragNode.y = 2732 / 2;
+ }
+}
+// Start tracking player movement on touch down
game.down = function (x, y, obj) {
- player.jump();
+ dragNode = player;
+ handleMove(x, y, obj);
+};
+// Update player position during movement
+game.move = handleMove;
+// Stop tracking player movement on touch up
+game.up = function (x, y, obj) {
+ dragNode = null;
};
\ No newline at end of file
I need an octopus that looks like bowser. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Heart illustration red shinny. Single Game Texture. 2d. Blank background. High contrast. No shadows
Star illustration shinny. Single Game Texture. Blank background. High contrast. No shadows
Make it more detailed and add flying dinosaurs
Re imagine