/**** * Classes ****/ var Enemy = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.update = function () { self.x -= self.speed; if (self.x < -50) { self.destroy(); } }; }); // Define a class for the left button var LeftButton = Container.expand(function () { var self = Container.call(this); var buttonGraphics = self.attachAsset('leftButton', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { if (self.isPressed) { player.x -= player.speed; } }; self.down = function (x, y, obj) { self.isPressed = true; }; self.up = function (x, y, obj) { self.isPressed = false; }; }); //<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.7; // Decreased gravity effect by 30% 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; } }; }); // Define a class for the right button var RightButton = Container.expand(function () { var self = Container.call(this); var buttonGraphics = self.attachAsset('rightButton', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { if (self.isPressed) { player.x += player.speed; } }; self.down = function (x, y, obj) { self.isPressed = true; }; self.up = function (x, y, obj) { self.isPressed = false; }; }); /**** * 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; // Initialize player var player = game.addChild(new Player()); // Initialize left and right buttons var leftButton = game.addChild(new LeftButton()); leftButton.x = 100; leftButton.y = 2732 - 100; var rightButton = game.addChild(new RightButton()); rightButton.x = 2048 - 100; rightButton.y = 2732 - 100; 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: 0xFFFFFF }); // Add the score text to the game GUI at the top center of the screen LK.gui.top.addChild(scoreText); scoreText.x = 2048 / 2; scoreText.y = 0; // Handle game updates game.update = function () { player.update(); leftButton.update(); rightButton.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(); };
===================================================================
--- original.js
+++ change.js
@@ -1,8 +1,7 @@
/****
* Classes
****/
-// Define a class for enemies
var Enemy = Container.expand(function () {
var self = Container.call(this);
var enemyGraphics = self.attachAsset('enemy', {
anchorX: 0.5,
@@ -15,8 +14,27 @@
self.destroy();
}
};
});
+// Define a class for the left button
+var LeftButton = Container.expand(function () {
+ var self = Container.call(this);
+ var buttonGraphics = self.attachAsset('leftButton', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.update = function () {
+ if (self.isPressed) {
+ player.x -= player.speed;
+ }
+ };
+ self.down = function (x, y, obj) {
+ self.isPressed = true;
+ };
+ self.up = function (x, y, obj) {
+ self.isPressed = false;
+ };
+});
//<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);
@@ -46,8 +64,27 @@
self.velocityY = -self.jumpHeight;
}
};
});
+// Define a class for the right button
+var RightButton = Container.expand(function () {
+ var self = Container.call(this);
+ var buttonGraphics = self.attachAsset('rightButton', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.update = function () {
+ if (self.isPressed) {
+ player.x += player.speed;
+ }
+ };
+ self.down = function (x, y, obj) {
+ self.isPressed = true;
+ };
+ self.up = function (x, y, obj) {
+ self.isPressed = false;
+ };
+});
/****
* Initialize Game
****/
@@ -65,8 +102,15 @@
background.x = 0;
background.y = 0;
// Initialize player
var player = game.addChild(new Player());
+// Initialize left and right buttons
+var leftButton = game.addChild(new LeftButton());
+leftButton.x = 100;
+leftButton.y = 2732 - 100;
+var rightButton = game.addChild(new RightButton());
+rightButton.x = 2048 - 100;
+rightButton.y = 2732 - 100;
player.x = 2048 / 2;
player.y = 2732 / 2;
// Initialize enemies
var enemies = [];
@@ -74,17 +118,19 @@
var enemySpawnCounter = 0;
// Create a new Text2 object to display the score
var scoreText = new Text2('0', {
size: 100,
- fill: "#ffffff"
+ fill: 0xFFFFFF
});
// Add the score text to the game GUI at the top center of the screen
LK.gui.top.addChild(scoreText);
scoreText.x = 2048 / 2;
scoreText.y = 0;
// Handle game updates
game.update = function () {
player.update();
+ leftButton.update();
+ rightButton.update();
// Spawn enemies
enemySpawnCounter++;
if (enemySpawnCounter >= enemySpawnInterval) {
var enemy = new Enemy();