/****
* Classes
****/
// Obstacle class
var Obstacle = Container.expand(function () {
var self = Container.call(this);
var obstacleGraphics = self.attachAsset('obstacle', {
anchorX: 0.5,
anchorY: 1.0
});
self.speed = -5;
self.move = function () {
self.x += self.speed;
};
});
// Assets will be automatically created based on usage in the code.
// Pony class
var Pony = Container.expand(function () {
var self = Container.call(this);
var ponyGraphics = self.attachAsset('pony', {
anchorX: 0.5,
anchorY: 0.5
});
self.jumpSpeed = -15;
self.gravity = 0.5;
self.velocity = 0;
self.isJumping = false;
self.jump = function () {
if (!self.isJumping) {
self.velocity = self.jumpSpeed;
self.isJumping = true;
}
};
self.update = function () {
self.y += self.velocity;
self.velocity += self.gravity;
if (self.y > game.floorLevel) {
self.y = game.floorLevel;
self.isJumping = false;
}
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x87CEEB // Light blue background
});
/****
* Game Code
****/
// Game variables
var forestBackground = game.addChild(LK.getAsset('forest', {
anchorX: 0.0,
anchorY: 0.0,
x: 0,
y: 0
}));
game.floorLevel = 2732 - 200; // Floor level where the pony runs
game.obstacles = [];
game.score = 0;
game.pony = game.addChild(new Pony());
game.pony.x = 400;
game.pony.y = game.floorLevel;
// Score display
var scoreTxt = new Text2('0', {
size: 150,
fill: "#ffffff"
});
LK.gui.top.addChild(scoreTxt);
// Game tick event
LK.on('tick', function () {
game.pony.update();
// Move and check obstacles
for (var i = game.obstacles.length - 1; i >= 0; i--) {
game.obstacles[i].move();
if (game.obstacles[i].x < -100) {
// Off-screen
game.obstacles[i].destroy();
game.obstacles.splice(i, 1);
} else if (game.pony.intersects(game.obstacles[i])) {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
}
}
// Increase score over time
if (LK.ticks % 60 == 0) {
// Every second
game.score += 1;
scoreTxt.setText(game.score.toString());
}
// Add obstacles
if (LK.ticks % 300 == 0) {
// Every 5 seconds
var newObstacle = new Obstacle();
newObstacle.x = 2048;
newObstacle.y = game.floorLevel;
game.obstacles.push(newObstacle);
game.addChild(newObstacle);
}
});
// Touch event to make the pony jump
game.on('down', function (obj) {
game.pony.jump();
}); ===================================================================
--- original.js
+++ change.js
@@ -1,101 +1,107 @@
-/****
+/****
* Classes
-****/
+****/
// Obstacle class
var Obstacle = Container.expand(function () {
- var self = Container.call(this);
- var obstacleGraphics = self.attachAsset('obstacle', {
- anchorX: 0.5,
- anchorY: 1.0
- });
- self.speed = -5;
- self.move = function () {
- self.x += self.speed;
- };
+ var self = Container.call(this);
+ var obstacleGraphics = self.attachAsset('obstacle', {
+ anchorX: 0.5,
+ anchorY: 1.0
+ });
+ self.speed = -5;
+ self.move = function () {
+ self.x += self.speed;
+ };
});
// Assets will be automatically created based on usage in the code.
// Pony class
var Pony = Container.expand(function () {
- var self = Container.call(this);
- var ponyGraphics = self.attachAsset('pony', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.jumpSpeed = -15;
- self.gravity = 0.5;
- self.velocity = 0;
- self.isJumping = false;
- self.jump = function () {
- if (!self.isJumping) {
- self.velocity = self.jumpSpeed;
- self.isJumping = true;
- }
- };
- self.update = function () {
- self.y += self.velocity;
- self.velocity += self.gravity;
- if (self.y > game.floorLevel) {
- self.y = game.floorLevel;
- self.isJumping = false;
- }
- };
+ var self = Container.call(this);
+ var ponyGraphics = self.attachAsset('pony', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.jumpSpeed = -15;
+ self.gravity = 0.5;
+ self.velocity = 0;
+ self.isJumping = false;
+ self.jump = function () {
+ if (!self.isJumping) {
+ self.velocity = self.jumpSpeed;
+ self.isJumping = true;
+ }
+ };
+ self.update = function () {
+ self.y += self.velocity;
+ self.velocity += self.gravity;
+ if (self.y > game.floorLevel) {
+ self.y = game.floorLevel;
+ self.isJumping = false;
+ }
+ };
});
-/****
+/****
* Initialize Game
-****/
+****/
var game = new LK.Game({
- backgroundColor: 0x87CEEB // Light blue background
+ backgroundColor: 0x87CEEB // Light blue background
});
-/****
+/****
* Game Code
-****/
+****/
// Game variables
+var forestBackground = game.addChild(LK.getAsset('forest', {
+ anchorX: 0.0,
+ anchorY: 0.0,
+ x: 0,
+ y: 0
+}));
game.floorLevel = 2732 - 200; // Floor level where the pony runs
game.obstacles = [];
game.score = 0;
game.pony = game.addChild(new Pony());
game.pony.x = 400;
game.pony.y = game.floorLevel;
// Score display
var scoreTxt = new Text2('0', {
- size: 150,
- fill: "#ffffff"
+ size: 150,
+ fill: "#ffffff"
});
LK.gui.top.addChild(scoreTxt);
// Game tick event
LK.on('tick', function () {
- game.pony.update();
- // Move and check obstacles
- for (var i = game.obstacles.length - 1; i >= 0; i--) {
- game.obstacles[i].move();
- if (game.obstacles[i].x < -100) {
- // Off-screen
- game.obstacles[i].destroy();
- game.obstacles.splice(i, 1);
- } else if (game.pony.intersects(game.obstacles[i])) {
- LK.effects.flashScreen(0xff0000, 1000);
- LK.showGameOver();
- }
- }
- // Increase score over time
- if (LK.ticks % 60 == 0) {
- // Every second
- game.score += 1;
- scoreTxt.setText(game.score.toString());
- }
- // Add obstacles
- if (LK.ticks % 300 == 0) {
- // Every 5 seconds
- var newObstacle = new Obstacle();
- newObstacle.x = 2048;
- newObstacle.y = game.floorLevel;
- game.obstacles.push(newObstacle);
- game.addChild(newObstacle);
- }
+ game.pony.update();
+ // Move and check obstacles
+ for (var i = game.obstacles.length - 1; i >= 0; i--) {
+ game.obstacles[i].move();
+ if (game.obstacles[i].x < -100) {
+ // Off-screen
+ game.obstacles[i].destroy();
+ game.obstacles.splice(i, 1);
+ } else if (game.pony.intersects(game.obstacles[i])) {
+ LK.effects.flashScreen(0xff0000, 1000);
+ LK.showGameOver();
+ }
+ }
+ // Increase score over time
+ if (LK.ticks % 60 == 0) {
+ // Every second
+ game.score += 1;
+ scoreTxt.setText(game.score.toString());
+ }
+ // Add obstacles
+ if (LK.ticks % 300 == 0) {
+ // Every 5 seconds
+ var newObstacle = new Obstacle();
+ newObstacle.x = 2048;
+ newObstacle.y = game.floorLevel;
+ game.obstacles.push(newObstacle);
+ game.addChild(newObstacle);
+ }
});
// Touch event to make the pony jump
game.on('down', function (obj) {
- game.pony.jump();
+ game.pony.jump();
});
\ No newline at end of file