Remix started
Copy Train Jumper
User prompt
Migrate to the latest version of LK
User prompt
Can you create 3 button at the bottom. One to the left, one to the right and one in the middle. Clicking them moves the player to that posistion.
User prompt
move the left button 10% to the right
User prompt
Move the middle button 20% to the left
User prompt
MOve the middle button 15% to the left
User prompt
Move the middle button 10% to the left
User prompt
Move the left button 20% to the right
User prompt
Move the left button 20% to the right
User prompt
Move the left button 20% to the right
User prompt
Move the left button 20% to the right
User prompt
Move the left button 20% to the right
User prompt
Move the right button 50% to the left
User prompt
Move the right button 20% to the left
User prompt
Move the right button 2% to the left
User prompt
Move all the button up 5
User prompt
Move all the button up 15
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot set properties of undefined (setting 'y')' in or related to this line: 'middleButton.y = 2732 - 100 - 20;' Line Number: 155
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot set properties of undefined (setting 'y')' in or related to this line: 'rightButton.y = 2732 - 100 - 20;' Line Number: 163
User prompt
Move all the button up 5
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot set properties of undefined (setting 'y')' in or related to this line: 'middleButton.y = 2732 - 100 - 10;' Line Number: 155
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot set properties of undefined (setting 'y')' in or related to this line: 'rightButton.y = 2732 - 100 - 10;' Line Number: 163
User prompt
move all 3 button up 5 across the y axis
User prompt
Move the left button up 10 across the y axis Move the middle button up 10 across the y axis Move the right button up 10 across the y axis
User prompt
Make the button squares
===================================================================
--- original.js
+++ change.js
@@ -1,135 +1,137 @@
-var Player = Container.expand(function() {
- var self = Container.call(this); //{0}
- var playerGraphics = XS.getAsset('player', 'Medieval Runner Character');
- playerGraphics.anchor.set(0.5, 0.5);
- self.addChild(playerGraphics);
- this.targetX = null; //{1}
- this.speed = 60;
- //{2}
- this.moveToLane = function(targetX) {
- this.targetX = targetX;
- }; //{3}
- //{4}
- this.update = function() { //{5}
- if (this.targetX !== null) {
- var direction = this.targetX > this.x ? 1 : -1;
- this.x += direction * this.speed;
- if (direction > 0 && this.x >= this.targetX || direction < 0 && this.x <= this.targetX) {
- this.x = this.targetX;
- this.targetX = null; //{6}
- } //{7}
- } //{8}
- }; //{9}
-}); //{10}
-//{11}
-var Obstacle = Container.expand(function() {
- var self = Container.call(this); //{12}
- var obstacleGraphics = XS.getAsset('obstacle', 'Medieval Obstacle');
- obstacleGraphics.anchor.set(0.5, 0.5);
- self.addChild(obstacleGraphics);
- //{13}
- this.baseSpeed = 10;
- this.speed = this.baseSpeed;
- //{14}
- this.update = function() { //{15}
- this.speed = this.baseSpeed + Math.floor(XS.ticks / 1000);
- this.y += this.speed;
- }; //{16}
-}); //{17}
-//{18}
-var Game = Container.expand(function() {
- var self = Container.call(this); //{19}
- var score = 0;
- var scoreText = new Text2(score, {
- size: 150,
- font: "'GillSans-Bold',Impact,'Arial Black',Tahoma",
- fill: "#ffffff"
- }); //{20}
- scoreText.anchor.set(0.5, 0);
- XS.gui.top.addChild(scoreText);
- var lanes = [512, 1024, 1536]; // Three lanes for the player to move between
- var trackGraphics = [];
- lanes.forEach(function(lane) {
- var track = XS.getAsset('track', 'Medieval Runner Track');
- track.anchor.set(0.5, 0);
- track.x = lane;
- track.y = 0;
- trackGraphics.push(track);
- self.addChild(track);
- }); //{21}
- var player = self.addChild(new Player());
- player.y = 2732 - player.height; // Position the player at the bottom of the screen
- player.x = lanes[1]; // Start the player in the middle lane
- var obstacles = [];
- //{22}
- function spawnObstacle(lane) {
- var obstacle = new Obstacle();
- obstacle.x = lane;
- obstacle.y = -obstacle.height;
- obstacles.push(obstacle);
- self.addChild(obstacle);
- } //{23}
- //{24}
- var lastSpawnedLane = null;
- //{25}
- function spawnObstaclePattern() {
- var pattern = Math.floor(Math.random() * 2);
- switch (pattern) {
- case 0:
- spawnObstacle(lanes[0]);
- XS.setTimeout(() => spawnObstacle(lanes[2]), 1000);
- break; //{26}
- case 1:
- spawnObstacle(lanes[1]);
- XS.setTimeout(() => spawnObstacle(lanes[0]), 1000);
- break; //{27}
- } //{28}
- XS.setTimeout(spawnObstaclePattern, 5000);
- } //{29}
- //{30}
- spawnObstaclePattern();
- //{31}
- function updateGame() {
- player.update();
- obstacles.forEach(function(obstacle) { //{32}
- obstacle.update();
- if (obstacle.y > player.y && !obstacle.passed) {
- score++;
- scoreText.setText(score); //{33}
- obstacle.passed = true;
- } //{34}
- if (player.intersects(obstacle)) {
- XS.showGameOver(restartGame);
- } //{35}
- }); //{36}
- } //{37}
- //{38}
- XS.on('tick', updateGame);
- //{39}
- var swipeStartX = null;
- stage.on('down', function(obj) {
- swipeStartX = obj.event.getLocalPosition(stage).x;
- }); //{40}
- stage.on('up', function(obj) {
- var swipeEndX = obj.event.getLocalPosition(stage).x;
- var swipeDistance = swipeEndX - swipeStartX;
- if (swipeDistance > 100 && player.x < lanes[2]) { // Swipe right
- player.moveToLane(lanes[lanes.indexOf(player.x) + 1]);
- } else if (swipeDistance < -100 && player.x > lanes[0]) { // Swipe left
- player.moveToLane(lanes[lanes.indexOf(player.x) - 1]);
- } //{41}
- swipeStartX = null;
- }); //{42}
- //{43}
- function restartGame() {
- obstacles.forEach(function(obstacle) { //{44}
- obstacle.destroy();
- }); //{45}
- obstacles = [];
- player.x = lanes[1];
- player.y = 2732 - player.height;
- score = 0;
- scoreText.setText(score); //{46}
- //{47}
- } //{48}
-}); //{49}
\ No newline at end of file
+/****
+* Classes
+****/
+var Obstacle = Container.expand(function () {
+ var self = Container.call(this);
+ var obstacleGraphics = LK.getAsset('obstacle', {});
+ obstacleGraphics.anchor.set(0.5, 0.5);
+ self.addChild(obstacleGraphics);
+ this.baseSpeed = 10;
+ this.speed = this.baseSpeed;
+ this._update_migrated = function () {
+ this.speed = this.baseSpeed + Math.floor(LK.ticks / 1000);
+ this.y += this.speed;
+ };
+});
+var Player = Container.expand(function () {
+ var self = Container.call(this);
+ var playerGraphics = LK.getAsset('player', {});
+ playerGraphics.anchor.set(0.5, 0.5);
+ self.addChild(playerGraphics);
+ this.targetX = null;
+ this.speed = 60;
+ this.moveToLane = function (targetX) {
+ this.targetX = targetX;
+ };
+ this._update_migrated = function () {
+ if (this.targetX !== null) {
+ var direction = this.targetX > this.x ? 1 : -1;
+ this.x += direction * this.speed;
+ if (direction > 0 && this.x >= this.targetX || direction < 0 && this.x <= this.targetX) {
+ this.x = this.targetX;
+ this.targetX = null;
+ }
+ }
+ };
+});
+
+/****
+* Initialize Game
+****/
+var game = new LK.Game({
+ backgroundColor: 0x000000
+});
+
+/****
+* Game Code
+****/
+var score = 0;
+var scoreText = new Text2(score, {
+ size: 150,
+ font: "'GillSans-Bold',Impact,'Arial Black',Tahoma",
+ fill: "#ffffff"
+});
+scoreText.anchor.set(0.5, 0);
+LK.gui.top.addChild(scoreText);
+var lanes = [512, 1024, 1536]; // Three lanes for the player to move between
+var trackGraphics = [];
+lanes.forEach(function (lane) {
+ var track = LK.getAsset('track', {});
+ track.anchor.set(0.5, 0);
+ track.x = lane;
+ track.y = 0;
+ trackGraphics.push(track);
+ game.addChild(track);
+});
+var player = game.addChild(new Player());
+player.y = 2732 - player.height; // Position the player at the bottom of the screen
+player.x = lanes[1]; // Start the player in the middle lane
+var obstacles = [];
+function spawnObstacle(lane) {
+ var obstacle = new Obstacle();
+ obstacle.x = lane;
+ obstacle.y = -obstacle.height;
+ obstacles.push(obstacle);
+ game.addChild(obstacle);
+}
+var lastSpawnedLane = null;
+function spawnObstaclePattern() {
+ var pattern = Math.floor(Math.random() * 2);
+ switch (pattern) {
+ case 0:
+ spawnObstacle(lanes[0]);
+ LK.setTimeout(function () {
+ return spawnObstacle(lanes[2]);
+ }, 1000);
+ break;
+ case 1:
+ spawnObstacle(lanes[1]);
+ LK.setTimeout(function () {
+ return spawnObstacle(lanes[0]);
+ }, 1000);
+ break;
+ }
+ LK.setTimeout(spawnObstaclePattern, 5000);
+}
+spawnObstaclePattern();
+function updateGame() {
+ player._update_migrated();
+ obstacles.forEach(function (obstacle) {
+ obstacle._update_migrated();
+ if (obstacle.y > player.y && !obstacle.passed) {
+ score++;
+ scoreText.setText(score);
+ obstacle.passed = true;
+ }
+ if (player.intersects(obstacle)) {
+ LK.showGameOver(restartGame);
+ }
+ });
+}
+LK.on('tick', updateGame);
+var swipeStartX = null;
+game.on('down', function (x, y, obj) {
+ swipeStartX = game.toLocal(obj.global).x;
+});
+game.on('up', function (x, y, obj) {
+ var swipeEndX = game.toLocal(obj.global).x;
+ var swipeDistance = swipeEndX - swipeStartX;
+ if (swipeDistance > 100 && player.x < lanes[2]) {
+ // Swipe right
+ player.moveToLane(lanes[lanes.indexOf(player.x) + 1]);
+ } else if (swipeDistance < -100 && player.x > lanes[0]) {
+ // Swipe left
+ player.moveToLane(lanes[lanes.indexOf(player.x) - 1]);
+ }
+ swipeStartX = null;
+});
+function restartGame() {
+ obstacles.forEach(function (obstacle) {
+ obstacle.destroy();
+ });
+ obstacles = [];
+ player.x = lanes[1];
+ player.y = 2732 - player.height;
+ score = 0;
+ scoreText.setText(score);
+}
\ No newline at end of file
summoning round blue button. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Make an image og a coconut. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Make more variations
Make a banana. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.