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 }); 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 }); 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: 1, height: 166.99 // Player's 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 }); 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 = game.addChild(new Ground()); ground1.x = 0; ground1.y = 0; var ground2 = game.addChild(new Ground()); ground2.x = 2048; ground2.y = 0; // 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 / 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 () { ground1.update(); ground2.update(); nearBackground1.update(); nearBackground2.update(); farBackground1.update(); farBackground2.update(); player.update(); // 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 jump game.down = function (x, y, obj) { player.jump(); };
===================================================================
--- original.js
+++ change.js
@@ -39,13 +39,15 @@
var Ground = Container.expand(function () {
var self = Container.call(this);
var groundGraphics = self.attachAsset('ground', {
anchorX: 0,
- anchorY: 0
+ anchorY: 1,
+ height: 166.99 // Player's 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) {
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