/****
* Classes
****/
// 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 = (Math.random() < 0.5 ? 5 : 10) * 1.2;
self.update = function () {
self.x -= self.speed;
if (self.x < -50) {
self.destroy();
}
};
});
// Define a class for enemy2 with the same properties as the enemy class
var Enemy2 = Container.expand(function () {
var self = Container.call(this);
var enemy2Graphics = self.attachAsset('enemy2', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = (Math.random() < 0.5 ? 5 : 10) * 1.2;
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.8; // Increased gravity effect by 10%
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
****/
var background = game.addChild(LK.getAsset('background', {
anchorX: 0,
anchorY: 0
}));
background.x = 0;
background.y = 0;
background.speed = 2;
background.update = function () {
// Do nothing
};
game.update = function () {
background.update();
};
game.addChild(background);
// 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: 0x000000 // Change the color to black
});
// Add the score text to the game GUI at the center of the screen
LK.gui.center.addChild(scoreText);
scoreText.x = 0; // Center the score horizontally
scoreText.y = -LK.gui.height * 0.50; // Move the score 50% up
// Handle game updates
game.update = function () {
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();
};
// Create a new Text2 object to display the stopwatch
var stopwatchText = new Text2('0:00', {
size: 95,
// Reduce the size by 5%
fill: 0x000000 // Change the color to black
});
// Add the stopwatch text to the game GUI at the center of the screen
LK.gui.center.addChild(stopwatchText);
stopwatchText.x = -LK.gui.width * 0.30; // Move the stopwatch 10% to the right
stopwatchText.y = LK.gui.height * 0.05; // Move the stopwatch 5% down
// Initialize stopwatch
var stopwatch = 0;
// Update stopwatch every second
LK.setInterval(function () {
stopwatch++;
var minutes = Math.floor(stopwatch / 60);
var seconds = stopwatch % 60;
stopwatchText.setText(minutes + ':' + (seconds < 10 ? '0' : '') + seconds);
}, 1000);
// Play background music
LK.playMusic('boinng');
// Fade out the light by 20% every 6 seconds and then restore it
LK.setInterval(function () {
LK.effects.flashScreen(0.2, 6000);
LK.setTimeout(function () {
LK.effects.flashScreen(1, 6000);
}, 6000);
}, 12000);
; /****
* Classes
****/
// 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 = (Math.random() < 0.5 ? 5 : 10) * 1.2;
self.update = function () {
self.x -= self.speed;
if (self.x < -50) {
self.destroy();
}
};
});
// Define a class for enemy2 with the same properties as the enemy class
var Enemy2 = Container.expand(function () {
var self = Container.call(this);
var enemy2Graphics = self.attachAsset('enemy2', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = (Math.random() < 0.5 ? 5 : 10) * 1.2;
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.8; // Increased gravity effect by 10%
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
****/
var background = game.addChild(LK.getAsset('background', {
anchorX: 0,
anchorY: 0
}));
background.x = 0;
background.y = 0;
background.speed = 2;
background.update = function () {
// Do nothing
};
game.update = function () {
background.update();
};
game.addChild(background);
// 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: 0x000000 // Change the color to black
});
// Add the score text to the game GUI at the center of the screen
LK.gui.center.addChild(scoreText);
scoreText.x = 0; // Center the score horizontally
scoreText.y = -LK.gui.height * 0.50; // Move the score 50% up
// Handle game updates
game.update = function () {
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();
};
// Create a new Text2 object to display the stopwatch
var stopwatchText = new Text2('0:00', {
size: 95,
// Reduce the size by 5%
fill: 0x000000 // Change the color to black
});
// Add the stopwatch text to the game GUI at the center of the screen
LK.gui.center.addChild(stopwatchText);
stopwatchText.x = -LK.gui.width * 0.30; // Move the stopwatch 10% to the right
stopwatchText.y = LK.gui.height * 0.05; // Move the stopwatch 5% down
// Initialize stopwatch
var stopwatch = 0;
// Update stopwatch every second
LK.setInterval(function () {
stopwatch++;
var minutes = Math.floor(stopwatch / 60);
var seconds = stopwatch % 60;
stopwatchText.setText(minutes + ':' + (seconds < 10 ? '0' : '') + seconds);
}, 1000);
// Play background music
LK.playMusic('boinng');
// Fade out the light by 20% every 6 seconds and then restore it
LK.setInterval(function () {
LK.effects.flashScreen(0.2, 6000);
LK.setTimeout(function () {
LK.effects.flashScreen(1, 6000);
}, 6000);
}, 12000);
;