/****
* Classes
****/
// Class for the collectible letters
var Letter = Container.expand(function () {
var self = Container.call(this);
var letterGraphics = self.attachAsset('K', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
self.y += 2;
if (self.y > 2732) {
self.y = 0;
self.x = Math.random() * 2048;
}
};
});
//<Assets used in the game will automatically appear here>
//<Write imports for supported plugins here>
// Class for the skateboarder character
var Skateboarder = Container.expand(function () {
var self = Container.call(this);
var skateboarderGraphics = self.attachAsset('skateboarder', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 5;
self.update = function () {
self.x += self.speed;
if (self.x > 2048) {
self.x = 0;
}
};
self.doTrick = function () {
LK.effects.flashObject(self, 0x00ff00, 500);
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
****/
// Initialize game variables
var skateboarder = game.addChild(new Skateboarder());
skateboarder.x = 1024;
skateboarder.y = 2400;
var letters = [];
var collectedLetters = [];
// Create letters
for (var i = 0; i < 6; i++) {
var letter = new Letter();
letter.x = Math.random() * 2048;
letter.y = Math.random() * 2732;
letters.push(letter);
game.addChild(letter);
}
// Add S asset to the map
var sLetter = new Letter();
sLetter.attachAsset('S', {
anchorX: 0.5,
anchorY: 0.5
});
sLetter.x = Math.random() * 2048;
sLetter.y = Math.random() * 2732;
letters.push(sLetter);
game.addChild(sLetter);
// Create buttons for tricks
var trickButtons = [];
var trickNames = ['Ollie', 'Kickflip', 'Heelflip', 'Grind', 'Manual', 'Airwalk'];
for (var j = 0; j < trickNames.length; j++) {
var button = new Text2(trickNames[j], {
size: 100,
fill: 0xFFFFFF
});
button.x = 200 + j * 300;
button.y = 2600;
button.anchor.set(0.5, 0.5);
LK.gui.bottom.addChild(button);
trickButtons.push(button);
// Add event listener for button
button.down = function (trick) {
return function () {
skateboarder.doTrick();
console.log("Performed trick: " + trick);
};
}(trickNames[j]);
}
// Update game logic
game.update = function () {
skateboarder.update();
for (var k = letters.length - 1; k >= 0; k--) {
letters[k].update();
if (skateboarder.intersects(letters[k])) {
collectedLetters.push(letters[k]);
letters[k].destroy();
letters.splice(k, 1);
console.log("Collected letter: " + collectedLetters.length);
}
}
if (collectedLetters.length === 6) {
console.log("Collected all letters: S-K-A-T-E-R");
LK.showGameOver();
}
};