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 the background var Background = Container.expand(function () { var self = Container.call(this); var backgroundGraphics = self.attachAsset('background', { anchorX: 0, anchorY: 0 }); self.speed = 5; self.update = function () { self.x -= self.speed; if (self.x <= -2048) { self.x = 2048; } }; }); // 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; } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB // Sky blue background }); /**** * Game Code ****/ // Initialize the background var background = game.addChild(new Background()); 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 game.update = function () { background.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
@@ -1,7 +1,22 @@
/****
* Classes
****/
+// Define a class for the background
+var Background = Container.expand(function () {
+ var self = Container.call(this);
+ var backgroundGraphics = self.attachAsset('background', {
+ anchorX: 0,
+ anchorY: 0
+ });
+ self.speed = 5;
+ self.update = function () {
+ self.x -= self.speed;
+ if (self.x <= -2048) {
+ self.x = 2048;
+ }
+ };
+});
// Define a class for enemies
var Enemy = Container.expand(function () {
var self = Container.call(this);
var enemyGraphics = self.attachAsset('enemy', {
@@ -57,12 +72,10 @@
/****
* Game Code
****/
-var background = game.addChild(LK.getAsset('background', {
- anchorX: 0,
- anchorY: 0
-}));
+// Initialize the background
+var background = game.addChild(new Background());
background.x = 0;
background.y = 0;
// Initialize player
var player = game.addChild(new Player());
@@ -74,16 +87,17 @@
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
game.update = function () {
+ background.update();
player.update();
// Spawn enemies
enemySpawnCounter++;
if (enemySpawnCounter >= enemySpawnInterval) {
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