User prompt
Make the nearBackground fit half the screen height
User prompt
Change the movement speed of the nearBackground and farBackground so that they have a parallax effect
User prompt
Make the far background image the size of half the screen height
Code edit (3 edits merged)
Please save this source code
User prompt
Slowly move them further to the right hand side of the screen when they score points.
User prompt
Have them all the way to the right at 20 points
User prompt
Have them all the way to the right of the screen once they have gotten 50 points
User prompt
Start the player closer to the left side of the screen and have them move further to the right as they score more points. Clamp to the right hand side of the screen 90% once they get 100 points
Code edit (3 edits merged)
Please save this source code
User prompt
Make the score be the top layer
User prompt
Show the current score on the top right of the screen
User prompt
Make the speed increase for every successful jump
User prompt
Make the speed increase about 50% more
User prompt
Speed up the movement as time progresses
User prompt
reduce the collision size on the enemies
Code edit (1 edits merged)
Please save this source code
User prompt
Position the ground at the bottom of the screen
User prompt
Make the ground image height go from the bottom of the screen up to the middle
User prompt
Make the ground layer be in front of everything else
User prompt
Make the floor height image only the height of where the player is
User prompt
Split the background image into 3 layers so that it can have a parallax effect. It should have a ground, near background and far background layer
User prompt
Tile the background so that it repeats as the character runs
User prompt
Make the background repeat
User prompt
Make it so the background scrolls to the left, imitating the character running to the right
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, width: 100, height: 100 }); self.speed = 5; self.update = function () { self.x -= self.speed; if (self.x < -50) { self.destroy(); } }; }); // Define a class for the far background layer var FarBackground = Container.expand(function () { var self = Container.call(this); var farBackgroundGraphics = self.attachAsset('farBackground', { anchorX: 0, anchorY: 0, height: 2732 / 2 // Half of the screen height }); self.speed = 1; self.update = function () { self.x -= self.speed; if (self.x <= -2048) { if (self === farBackground1) { self.x = farBackground2.x + 2048; } else if (self === farBackground2) { self.x = farBackground1.x + 2048; } } }; }); // Define a class for the ground layer of the background var Ground = Container.expand(function () { var self = Container.call(this); var groundGraphics = self.attachAsset('ground', { anchorX: 0, anchorY: 0, height: 2732 / 2 // Half of the screen height }); self.speed = 5; self.update = function () { self.x -= self.speed; self.y = 2732 / 2; // Player's y position if (self.x <= -2048) { if (self === ground1) { self.x = ground2.x + 2048; } else if (self === ground2) { self.x = ground1.x + 2048; } } }; }); // Define a class for the near background layer var NearBackground = Container.expand(function () { var self = Container.call(this); var nearBackgroundGraphics = self.attachAsset('nearBackground', { anchorX: 0, anchorY: 0, height: 2732 / 2 // Half of the screen height }); self.speed = 3; self.update = function () { self.x -= self.speed; if (self.x <= -2048) { if (self === nearBackground1) { self.x = nearBackground2.x + 2048; } else if (self === nearBackground2) { self.x = nearBackground1.x + 2048; } } }; }); //<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; } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB // Sky blue background }); /**** * Game Code ****/ // Initialize the ground layer var ground1 = new Ground(); ground1.x = 0; ground1.y = 2732; // Position at the bottom of the screen var ground2 = new Ground(); ground2.x = 2048; ground2.y = 2732; // Position at the bottom of the screen // Initialize the near background layer var nearBackground1 = game.addChild(new NearBackground()); nearBackground1.x = 0; nearBackground1.y = 0; var nearBackground2 = game.addChild(new NearBackground()); nearBackground2.x = 2048; nearBackground2.y = 0; // Initialize the far background layer var farBackground1 = game.addChild(new FarBackground()); farBackground1.x = 0; farBackground1.y = 0; var farBackground2 = game.addChild(new FarBackground()); farBackground2.x = 2048; farBackground2.y = 0; // Initialize player var player = game.addChild(new Player()); player.x = 2048 / 4; // Position player closer to the left side of the screen 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 right of the screen LK.gui.topRight.addChild(scoreText); scoreText.x = -150; scoreText.y = 0; // Move score text to the top layer LK.gui.topRight.setChildIndex(scoreText, LK.gui.topRight.children.length - 1); // Handle game updates game.update = function () { // Increase speed as time progresses var speedIncrease = Math.floor(LK.ticks / 1000) * 2.5; // Increase the speed increase rate by 50% nearBackground1.speed = (1 + speedIncrease) * 1.5; // Increase speed for nearBackground for parallax effect nearBackground2.speed = (1 + speedIncrease) * 1.5; // Increase speed for nearBackground for parallax effect farBackground1.speed = (1 + speedIncrease) * 0.5; // Decrease speed for farBackground for parallax effect farBackground2.speed = (1 + speedIncrease) * 0.5; // Decrease speed for farBackground for parallax effect player.speed = 5 + speedIncrease; ground1.speed = 5 + speedIncrease; ground2.speed = 5 + speedIncrease; nearBackground1.update(); nearBackground2.update(); farBackground1.update(); farBackground2.update(); player.update(); ground1.update(); ground2.update(); game.addChild(ground1); game.addChild(ground2); // Spawn enemies enemySpawnCounter++; if (enemySpawnCounter >= enemySpawnInterval) { var enemy = new Enemy(); enemy.x = 2048; enemy.y = 2732 / 2; enemy.speed = 5 + speedIncrease; // Increase enemy speed 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()); // Move player further to the right as they score more points player.x = Math.min(2048 * 3.0, 2048 / 4 + LK.getScore() * (2048 * 3.0 - 2048 / 4) / 100); // Move player all the way to the right of the screen once they have gotten 100 points } } }; // Handle player jump game.down = function (x, y, obj) { player.jump(); player.speed += 0.5; // Increase player speed for every successful jump };
===================================================================
--- original.js
+++ change.js
@@ -63,9 +63,10 @@
var NearBackground = Container.expand(function () {
var self = Container.call(this);
var nearBackgroundGraphics = self.attachAsset('nearBackground', {
anchorX: 0,
- anchorY: 0
+ anchorY: 0,
+ height: 2732 / 2 // Half of the screen height
});
self.speed = 3;
self.update = function () {
self.x -= self.speed;
Single 2D Mario Character. In-Game asset. 2d. Blank background.
Mushroom kingdom style mountains. Transparent. Cartoony. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
Distant clouds and mountains. Cartoony. Mario style. Blank background. High contrast. No shadows
Side on. Dirt with grass. Full width. Super mario. Blank background. High contrast. No shadows
Big explosion.. High contrast. No shadows
Sci Fi bird enemy. Side on 2D. In-Game asset. High contrast. No shadows