/**** * Classes ****/ // No need for a tick function as movement and actions are based on touch events; var Block = Container.expand(function () { var self = Container.call(this); var blockGraphics = self.attachAsset('block', { anchorX: 0.5, anchorY: 0.5 }); // Check for collisions with other blocks self.checkCollision = function (blocks) { for (var i = 0; i < blocks.length; i++) { if (self.intersects(blocks[i])) { return true; } } return false; }; }); // Ground class for the ground blocks var Ground = Container.expand(function () { var self = Container.call(this); var groundGraphics = self.attachAsset('block', { anchorX: 0.5, anchorY: 0.5 }); }); // Assets are automatically managed by the LK engine based on usage in the code. var UIButton = Container.expand(function () { var self = Container.call(this); var buttonGraphics = self.attachAsset('block', { anchorX: 0.5, anchorY: 0.5 }); }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB // Light blue background to represent the sky }); /**** * Game Code ****/ // Initialize the ground blocks for (var i = 0; i < 2048; i += 100) { var ground = new Ground(); ground.x = i; ground.y = 2732 - 50; // Place the ground blocks at the bottom of the screen game.addChild(ground); } // Add a click event to the game to place a block at the clicked position game.on('down', function (obj) { var pos = obj.event.getLocalPosition(game); var block = new Block(); block.x = pos.x; block.y = pos.y; // Get all the blocks in the game var blocks = game.children.filter(function (child) { return child instanceof Block; }); // Add the block to the game game.addChild(block); // Check for collisions excluding the block itself if (block.checkCollision(blocks.filter(function (b) { return b !== block; }))) { // If there is a collision, remove the block from the game game.removeChild(block); } }); // No need for a tick function as movement and actions are based on touch events
/****
* Classes
****/
// No need for a tick function as movement and actions are based on touch events;
var Block = Container.expand(function () {
var self = Container.call(this);
var blockGraphics = self.attachAsset('block', {
anchorX: 0.5,
anchorY: 0.5
});
// Check for collisions with other blocks
self.checkCollision = function (blocks) {
for (var i = 0; i < blocks.length; i++) {
if (self.intersects(blocks[i])) {
return true;
}
}
return false;
};
});
// Ground class for the ground blocks
var Ground = Container.expand(function () {
var self = Container.call(this);
var groundGraphics = self.attachAsset('block', {
anchorX: 0.5,
anchorY: 0.5
});
});
// Assets are automatically managed by the LK engine based on usage in the code.
var UIButton = Container.expand(function () {
var self = Container.call(this);
var buttonGraphics = self.attachAsset('block', {
anchorX: 0.5,
anchorY: 0.5
});
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x87CEEB // Light blue background to represent the sky
});
/****
* Game Code
****/
// Initialize the ground blocks
for (var i = 0; i < 2048; i += 100) {
var ground = new Ground();
ground.x = i;
ground.y = 2732 - 50; // Place the ground blocks at the bottom of the screen
game.addChild(ground);
}
// Add a click event to the game to place a block at the clicked position
game.on('down', function (obj) {
var pos = obj.event.getLocalPosition(game);
var block = new Block();
block.x = pos.x;
block.y = pos.y;
// Get all the blocks in the game
var blocks = game.children.filter(function (child) {
return child instanceof Block;
});
// Add the block to the game
game.addChild(block);
// Check for collisions excluding the block itself
if (block.checkCollision(blocks.filter(function (b) {
return b !== block;
}))) {
// If there is a collision, remove the block from the game
game.removeChild(block);
}
});
// No need for a tick function as movement and actions are based on touch events