/**** * Classes ****/ //<Assets used in the game will automatically appear here> // Define a simple Button class that will be used for the tap target var Button = Container.expand(function () { var self = Container.call(this); var buttonGraphics = self.attachAsset('button', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { // Add a swinging animation to the button self.rotation = Math.sin(LK.ticks / 10) / 10; }; // Add a cursor to the button self.cursor = 'pointer'; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ // Initialize score, high score, timer and score text var score = 0; var highScore = 0; var timer = 120 * 60; // 120 seconds * 60 frames per second var scoreTxt = new Text2('0', { size: 300, fill: "#ffffff", font: "'.VnAvant', serif", fontWeight: 'bold' }); scoreTxt.anchor.set(0.5, 1); LK.gui.bottom.addChild(scoreTxt); // Create the timer text and position it above the high score text var timerTxt = new Text2('Time: 0', { size: 300, fill: "#ffffff", font: "'Bahnschrift', serif", fontWeight: 'bold' }); timerTxt.anchor.set(0.5, 0); LK.gui.top.addChild(timerTxt); timerTxt.y = 0; // Create the button and position it at the center of the screen var background = game.addChild(LK.getAsset('background', { anchorX: 0, anchorY: 0 })); var button = game.addChild(new Button()); button.x = 2048 / 2; button.y = 2732 / 2; // Update score function function updateScore() { score += 1; scoreTxt.setText(score); } // Handle button press button.down = function (x, y, obj) { updateScore(); if (score > highScore) { highScore = score; highScoreTxt.setText(highScore); } // Flash the button to give feedback LK.effects.flashObject(button, 0xff0000, 100); // Play a sound when the button is clicked LK.getSound('clicksound').play(); }; // Game update function game.update = function () { // Decrease the timer every game tick if (timer > 0) { timer--; } else { // End the game when the timer reaches 0 LK.showGameOver(); } // Update the timer text var minutes = Math.floor(timer / 3600); var seconds = Math.floor(timer % 3600 / 60); timerTxt.setText(minutes + ":" + (seconds < 10 ? "0" : "") + seconds); // Change the color of the timer text to red when the timer is 15 seconds or lower if (minutes == 0 && seconds <= 15) { timerTxt.fill = "#ff0000"; } else { timerTxt.fill = "#ffffff"; } };
/****
* Classes
****/
//<Assets used in the game will automatically appear here>
// Define a simple Button class that will be used for the tap target
var Button = Container.expand(function () {
var self = Container.call(this);
var buttonGraphics = self.attachAsset('button', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
// Add a swinging animation to the button
self.rotation = Math.sin(LK.ticks / 10) / 10;
};
// Add a cursor to the button
self.cursor = 'pointer';
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
****/
// Initialize score, high score, timer and score text
var score = 0;
var highScore = 0;
var timer = 120 * 60; // 120 seconds * 60 frames per second
var scoreTxt = new Text2('0', {
size: 300,
fill: "#ffffff",
font: "'.VnAvant', serif",
fontWeight: 'bold'
});
scoreTxt.anchor.set(0.5, 1);
LK.gui.bottom.addChild(scoreTxt);
// Create the timer text and position it above the high score text
var timerTxt = new Text2('Time: 0', {
size: 300,
fill: "#ffffff",
font: "'Bahnschrift', serif",
fontWeight: 'bold'
});
timerTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(timerTxt);
timerTxt.y = 0;
// Create the button and position it at the center of the screen
var background = game.addChild(LK.getAsset('background', {
anchorX: 0,
anchorY: 0
}));
var button = game.addChild(new Button());
button.x = 2048 / 2;
button.y = 2732 / 2;
// Update score function
function updateScore() {
score += 1;
scoreTxt.setText(score);
}
// Handle button press
button.down = function (x, y, obj) {
updateScore();
if (score > highScore) {
highScore = score;
highScoreTxt.setText(highScore);
}
// Flash the button to give feedback
LK.effects.flashObject(button, 0xff0000, 100);
// Play a sound when the button is clicked
LK.getSound('clicksound').play();
};
// Game update function
game.update = function () {
// Decrease the timer every game tick
if (timer > 0) {
timer--;
} else {
// End the game when the timer reaches 0
LK.showGameOver();
}
// Update the timer text
var minutes = Math.floor(timer / 3600);
var seconds = Math.floor(timer % 3600 / 60);
timerTxt.setText(minutes + ":" + (seconds < 10 ? "0" : "") + seconds);
// Change the color of the timer text to red when the timer is 15 seconds or lower
if (minutes == 0 && seconds <= 15) {
timerTxt.fill = "#ff0000";
} else {
timerTxt.fill = "#ffffff";
}
};