User prompt
add a 0 infront of every timer thats lower than 10 so 0 is 00 and 9 is 09
Code edit (5 edits merged)
Please save this source code
User prompt
add a 0 infront of every score thats lower than 10 so 0 is 00 and 9 is 09
Code edit (1 edits merged)
Please save this source code
User prompt
the location of scoretxt should be determend by coordinates
/**** * Classes ****/ // StartButton class var StartButton = Container.expand(function () { var self = Container.call(this); // Initialize start button with a shape asset var startButtonGraphics = self.attachAsset('startButton', { anchorX: 0.5, anchorY: 0.5, shape: 'box', width: 400, height: 200, color: 0x0d6eaf // Blue color }); // Add start text on top of the button var startText = new Text2('START', { size: 80, fill: "#ffffff" }); startText.anchor.set(0.5, 0.5); // Center the text self.addChild(startText); // Add the text to the button // Method to handle start button click self.on('down', function () { self.destroy(); // Destroy start button after click startGame(); // Start the game }); }); // Assets will be automatically created based on usage in the code. // Target class var Target = Container.expand(function () { var self = Container.call(this); // Initialize target with a shape asset var targetGraphics = self.attachAsset('target', { anchorX: 0.5, anchorY: 0.5, shape: 'ellipse', width: 200, // Initial width height: 200, // Initial height color: 0xff0000 // Red color }); // Method to decrease the size of the target self.shrink = function () { if (targetGraphics.width > 20 && targetGraphics.height > 20) { // Minimum size check targetGraphics.width -= 1; targetGraphics.height -= 1; } else { self.destroy(); // Destroy target if it's too small } }; // Method to handle target click self.on('down', function () { LK.setScore(LK.getScore() + 1); // Increase score self.destroy(); // Destroy target after click }); }); // Timer class var Timer = Container.expand(function () { var self = Container.call(this); // Create timer text self.timerText = new Text2('30', { size: 80, fill: "#ffffff" }); self.timerText.anchor.set(0.5, 0.5); self.addChild(self.timerText); // Method to update timer self.update = function (timeLeft) { if (isNaN(timeLeft)) { self.timerText.setText('30'); } else { self.timerText.setText(timeLeft < 10 ? '0' + timeLeft.toString() : timeLeft.toString()); } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 // Init game with black background }); /**** * Game Code ****/ // Initialize score and targets array var targets = []; var gameDuration = 30000; // 30 seconds in milliseconds var targetSpawnInterval = 500; // 0.5 seconds in milliseconds var gameEndTime; // Game end time will be set when the game starts var timer = new Timer(); timer.x = 2048 / 2; // Center the timer timer.y = 300; game.addChild(timer); var startButton = new StartButton(); startButton.x = 2048 / 2; // Center the start button startButton.y = 2732 / 2; game.addChild(startButton); // Create score display var scoreTxt = new Text2('0', { size: 180, fill: "#ffffff" }); scoreTxt.x = 2048 / 2 - 75; // Center the score text horizontally scoreTxt.y = 0; // Position the score text 100 pixels from the top game.addChild(scoreTxt); // Add score display to the game // Function to spawn targets function startGame() { gameEndTime = Date.now() + gameDuration; // Calculate game end time } function spawnTarget() { if (Date.now() < gameEndTime) { // Check if game time is not over var target = new Target(); // Random position within game area target.x = Math.random() * (2048 - 100) + 50; // Avoid spawning on the edges target.y = Math.random() * (2732 - 100) + 50; // Avoid spawning on the edges game.addChild(target); targets.push(target); } } // Game tick event LK.on('tick', function () { // Update score display var score = LK.getScore(); scoreTxt.setText(score < 10 ? '0' + score.toString() : score.toString()); // Shrink targets targets.forEach(function (target, index) { target.shrink(); if (!target.parent) { // Check if target has been destroyed targets.splice(index, 1); // Remove target from array } }); // Update timer var timeLeft = Math.ceil((gameEndTime - Date.now()) / 1000); timer.update(timeLeft); // End game when time is up or when timer hits 0 if (Date.now() >= gameEndTime || timeLeft <= 0) { LK.showGameOver(); } }); // Spawn targets at intervals var spawnTimer = LK.setInterval(spawnTarget, targetSpawnInterval); // Clear interval on game over to stop spawning targets LK.on('gameOver', function () { LK.clearInterval(spawnTimer); });
===================================================================
--- original.js
+++ change.js
@@ -71,9 +71,9 @@
self.update = function (timeLeft) {
if (isNaN(timeLeft)) {
self.timerText.setText('30');
} else {
- self.timerText.setText(timeLeft.toString());
+ self.timerText.setText(timeLeft < 10 ? '0' + timeLeft.toString() : timeLeft.toString());
}
};
});
@@ -104,9 +104,9 @@
var scoreTxt = new Text2('0', {
size: 180,
fill: "#ffffff"
});
-scoreTxt.x = 2048 / 2 - 50; // Center the score text horizontally
+scoreTxt.x = 2048 / 2 - 75; // Center the score text horizontally
scoreTxt.y = 0; // Position the score text 100 pixels from the top
game.addChild(scoreTxt); // Add score display to the game
// Function to spawn targets
function startGame() {