User prompt
Please fix the bug: 's.apply(...).then is not a function' in or related to this line: 'timerTxt.setText(String(timer.toFixed(2))); // update the timer text to include hundredths of a second' Line Number: 226
User prompt
Please fix the bug: 's.apply(...).then is not a function' in or related to this line: 'timerTxt.setText("" + timer.toFixed(2)); // update the timer text to include hundredths of a second' Line Number: 226
User prompt
fix error Compilation error[L226]: s.apply(...).then is not a function
User prompt
Please fix the bug: 's.apply(...).then is not a function' in or related to this line: 'timerTxt.setText(String(timer.toFixed(2))); // update the timer text to include hundredths of a second' Line Number: 225
User prompt
Please fix the bug: 's.apply(...).then is not a function' in or related to this line: 'timerTxt.setText("" + timer.toFixed(2)); // update the timer text to include hundredths of a second' Line Number: 224
User prompt
Please fix the bug: 's.apply(...).then is not a function' in or related to this line: 'timerTxt.setText(String(timer.toFixed(2))); // update the timer text to include hundredths of a second' Line Number: 224
User prompt
Please fix the bug: 's.apply(...).then is not a function' in or related to this line: 'timerTxt.setText("" + timer.toFixed(2)); // update the timer text to include hundredths of a second' Line Number: 224
User prompt
Please fix the bug: 's.apply(...).then is not a function' in or related to this line: 'gameOverTriggered = true;' Line Number: 182
User prompt
Please fix the bug: 's.apply(...).then is not a function' in or related to this line: 'timerTxt.setText(String(timer.toFixed(2))); // update the timer text to include hundredths of a second' Line Number: 224
User prompt
Please fix the bug: 's.apply(...).then is not a function' in or related to this line: 'timerTxt.setText(timer.toFixed(2)); // update the timer text to include hundredths of a second' Line Number: 224
User prompt
Please fix the bug: 's.apply(...).then is not a function' in or related to this line: 'LK.showGameOver();' Line Number: 177
Remix started
Copy Save The Square
/**** * Classes ****/ // Obstacle class var Obstacle = Container.expand(function () { var self = Container.call(this); var obstacleGraphics = self.attachAsset('obstacle', { anchorX: 0.5, anchorY: 0.5 }); // Set speed to 20 in a random direction within 360 degrees var angle = Math.random() * Math.PI * 2; // Random angle in radians self.speedX = Math.cos(angle) * (Math.random() * (35 - 30) + 30); self.speedY = Math.sin(angle) * (Math.random() * (35 - 30) + 30); self._move_migrated = function () { self.x += self.speedX; self.y += self.speedY; // Bounce off walls if (self.x < 145 || self.x > 1903) { self.speedX *= -1; } if (self.y < 145 || self.y > 2587) { self.speedY *= -1; } }; }); // Obstacle2 class var Obstacle2 = Container.expand(function () { var self = Container.call(this); var obstacleGraphics = self.attachAsset('obstacle2', { anchorX: 0.5, anchorY: 0.5 }); // Set speed to 20 in a random direction within 360 degrees var angle = Math.random() * Math.PI * 2; // Random angle in radians self.speedX = Math.cos(angle) * (Math.random() * (30 - 25) + 25); self.speedY = Math.sin(angle) * (Math.random() * (30 - 25) + 25); self._move_migrated = function () { self.x += self.speedX; self.y += self.speedY; // Bounce off walls if (self.x < 145 || self.x > 1903) { self.speedX *= -1; } if (self.y < 145 || self.y > 2587) { self.speedY *= -1; } }; }); // Obstacle3 class var Obstacle3 = Container.expand(function () { var self = Container.call(this); var obstacleGraphics = self.attachAsset('obstacle3', { anchorX: 0.5, anchorY: 0.5 }); // Set speed to 20 in a random direction within 360 degrees var angle = Math.random() * Math.PI * 2; // Random angle in radians self.speedX = Math.cos(angle) * (Math.random() * (32 - 28) + 28); self.speedY = Math.sin(angle) * (Math.random() * (32 - 28) + 28); self._move_migrated = function () { self.x += self.speedX; self.y += self.speedY; // Bounce off walls if (self.x < 145 || self.x > 1903) { self.speedX *= -1; } if (self.y < 145 || self.y > 2587) { self.speedY *= -1; } }; }); // Obstacle4 class var Obstacle4 = Container.expand(function () { var self = Container.call(this); var obstacleGraphics = self.attachAsset('obstacle4', { anchorX: 0.5, anchorY: 0.5 }); // Set speed to 20 in a random direction within 360 degrees var angle = Math.random() * Math.PI * 2; // Random angle in radians self.speedX = Math.cos(angle) * (Math.random() * (40 - 35) + 35); self.speedY = Math.sin(angle) * (Math.random() * (40 - 35) + 35); self._move_migrated = function () { self.x += self.speedX; self.y += self.speedY; // Bounce off walls if (self.x < 145 || self.x > 1903) { self.speedX *= -1; } if (self.y < 145 || self.y > 2587) { self.speedY *= -1; } }; }); // Assets will be automatically created based on usage in the code. // Player class var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 70; self._move_migrated = function (direction) { if (direction === 'left' && self.x > 145) { self.x -= self.speed; } else if (direction === 'right' && self.x < 1903) { self.x += self.speed; } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0xFFFFFF // Init game with white background }); /**** * Game Code ****/ var obstacle3 = game.addChild(new Obstacle3()); obstacle3.x = obstacle3.width / 2 + 150; // Position at the left edge of the screen obstacle3.y = 2732 - obstacle3.height / 2 - 150; // Position at the bottom edge of the screen; var obstacle4 = game.addChild(new Obstacle4()); obstacle4.x = 2048 - obstacle4.width / 2 - 150; // Position at the right edge of the screen obstacle4.y = 2732 - obstacle4.height / 2 - 150; // Position at the bottom edge of the screen; LK.on('tick', function () { // Calculate the distance between the player and the target position var dx = targetPosition.x - player.x; var dy = targetPosition.y - player.y; var distance = Math.sqrt(dx * dx + dy * dy); // If the player is not already at the target position and the screen is being pressed if (isScreenPressed && distance > player.speed) { // Calculate the direction vector var directionX = dx / distance; var directionY = dy / distance; // Move the player towards the target position player.x += directionX * player.speed; player.y += directionY * player.speed; } // Check if the new position is within the screen boundaries if (player.x < 145) { player.x = 145; } else if (player.x > 1903) { player.x = 1903; } if (player.y < 145) { player.y = 145; } else if (player.y > 2587) { player.y = 2587; } // Move the obstacles obstacle._move_migrated(); obstacle2._move_migrated(); obstacle3._move_migrated(); obstacle4._move_migrated(); // Track if game over has already been triggered if (typeof gameOverTriggered === "undefined") { gameOverTriggered = false; } // Check if player intersects with any obstacle based on the filled image if (!gameOverTriggered && (player.intersects(obstacle) || player.intersects(obstacle2) || player.intersects(obstacle3) || player.intersects(obstacle4))) { // Flash screen red for 1 second (1000ms) to show we are dead. LK.effects.flashScreen(0xff0000, 1000); // Save the player's score in decimal format LK.setScore(parseFloat(timer.toFixed(10))); // Show game over. The game will be automatically paused while game over is showing. LK.showGameOver(); gameOverTriggered = true; } }); var player = game.addChild(new Player()); player.x = 2048 / 2; // Center horizontally player.y = 2732 / 2; // Center vertically var targetPosition = { x: player.x, y: player.y }; // Store the target position for the player var isScreenPressed = false; // Flag to track if the screen is being pressed LK.on('down', function (x, y, obj) { isScreenPressed = true; // Set the flag to true when the screen is pressed }); LK.on('move', function (x, y, obj) { if (isScreenPressed) { if (obj) { targetPosition = game.toLocal(obj.global); // Set the target position to the cursor position if the screen is being pressed } } }); LK.on('up', function (x, y, obj) { isScreenPressed = false; // Set the flag to false when the screen is released targetPosition = { x: player.x, y: player.y }; // Set the target position to the player's current position }); // Add a timer in the top left corner var timerTxt = new Text2('0', { size: 70, fill: 0x000000 }); timerTxt.x = -170; LK.gui.topRight.addChild(timerTxt); var timer = 0; var frameCount = 0; LK.on('tick', function () { frameCount++; if (frameCount > 1) { timer += 1 / 60; // increment timer by the time for one frame } if (timerTxt && typeof timerTxt.setText === "function") { // Ensure timerTxt.setText is always called with a string and not causing promise-related errors timerTxt.setText("" + timer.toFixed(2)); // update the timer text to include hundredths of a second } }); var obstacle = game.addChild(new Obstacle()); obstacle.x = 2048 - obstacle.width / 2 - 150; // Position at the right edge of the screen, 200 pixels away from the edge obstacle.y = obstacle.height / 2 + 150; // Position at the top edge of the screen, 200 pixels away from the edge; var obstacle2 = game.addChild(new Obstacle2()); obstacle2.x = obstacle2.width / 2 + 150; // Position at the left edge of the screen obstacle2.y = obstacle2.height / 2 + 150; // Position at the top edge of the screen
===================================================================
--- original.js
+++ change.js
@@ -212,9 +212,9 @@
timer += 1 / 60; // increment timer by the time for one frame
}
if (timerTxt && typeof timerTxt.setText === "function") {
// Ensure timerTxt.setText is always called with a string and not causing promise-related errors
- timerTxt.setText(String(timer.toFixed(2))); // update the timer text to include hundredths of a second
+ timerTxt.setText("" + timer.toFixed(2)); // update the timer text to include hundredths of a second
}
});
var obstacle = game.addChild(new Obstacle());
obstacle.x = 2048 - obstacle.width / 2 - 150; // Position at the right edge of the screen, 200 pixels away from the edge
azerbaijan ball. In-Game asset. 2d. High contrast. No shadows
turkish flag ball head. In-Game asset. 2d. High contrast. No shadows
armenian flag ball head. In-Game asset. 2d. High contrast. No shadows
france flag ball head. In-Game asset. 2d. High contrast. No shadows
america flag ball head. In-Game asset. 2d. High contrast. No shadows