/**** * Classes ****/ //<Assets used in the game will automatically appear here> // Cake class var Cake = Container.expand(function () { var self = Container.call(this); var cakeGraphics = self.attachAsset('cake', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { // Cake specific update logic }; }); // Cookie class var Cookie = Container.expand(function () { var self = Container.call(this); var cookieGraphics = self.attachAsset('cookie', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { // Move the cookie downwards self.y += 5; // If the cookie is off the screen, destroy it if (self.y > 2732) { self.destroy(); } }; }); // Ingredient class var Ingredient = Container.expand(function () { var self = Container.call(this); var ingredientGraphics = self.attachAsset('ingredient', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { // Ingredient specific update logic }; self.down = function (x, y, obj) { // Create a new cake when ingredient is touched createCake(); // Destroy the ingredient self.destroy(); }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ // Initialize arrays and variables var background = game.addChild(LK.getAsset('Background', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2 })); var cakes = []; var ingredients = []; var cookies = []; var score = 0; // Create score text var scoreTxt = new Text2('0', { size: 150, fill: "#ffffff" }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); // Function to update score function updateScore() { scoreTxt.setText(score); } // Function to create a new cake function createCake() { var newCake = new Cake(); newCake.x = Math.random() * 2048; newCake.y = Math.random() * 2732; cakes.push(newCake); game.addChild(newCake); } // Function to create a new ingredient function createIngredient() { var newIngredient = new Ingredient(); newIngredient.x = Math.random() * 2048; newIngredient.y = Math.random() * 2732; ingredients.push(newIngredient); game.addChild(newIngredient); } // Function to create a new cookie function createCookie() { var newCookie = new Cookie(); newCookie.x = Math.random() * 2048; newCookie.y = Math.random() * 2732; game.addChild(newCookie); } // Handle move events function handleMove(x, y, obj) { // Get event position in relation to game object var game_position = game.toLocal(obj.global); // Check for ingredient and cake collision for (var i = 0; i < ingredients.length; i++) { for (var j = 0; j < cakes.length; j++) { if (ingredients[i].intersects(cakes[j])) { // Increase score score += 1; updateScore(); // Destroy ingredient ingredients[i].destroy(); ingredients.splice(i, 1); // Flash cake LK.effects.flashObject(cakes[j], 0xff0000, 1000); break; } } } } // Mouse or touch move on game object game.move = handleMove; // Create initial cakes, ingredients and cookies for (var i = 0; i < 5; i++) { createCake(); createIngredient(); } for (var i = 0; i < 10; i++) { createCookie(); } // Update game every tick game.update = function () { // Update cakes, ingredients and cookies for (var i = 0; i < cakes.length; i++) { cakes[i].update(); // Check for collision between cakes and cookies for (var k = 0; k < cookies.length; k++) { if (cakes[i].intersects(cookies[k])) { // Decrease score score -= 1; updateScore(); // Destroy cake and cookie cakes[i].destroy(); cakes.splice(i, 1); cookies[k].destroy(); cookies.splice(k, 1); break; } } } for (var j = 0; j < ingredients.length; j++) { ingredients[j].update(); } for (var k = 0; k < cookies.length; k++) { cookies[k].update(); } // Create new ingredients and cookies periodically if (LK.ticks % 60 == 0) { createIngredient(); } if (LK.ticks % 120 == 0) { createCookie(); } };
/****
* Classes
****/
//<Assets used in the game will automatically appear here>
// Cake class
var Cake = Container.expand(function () {
var self = Container.call(this);
var cakeGraphics = self.attachAsset('cake', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
// Cake specific update logic
};
});
// Cookie class
var Cookie = Container.expand(function () {
var self = Container.call(this);
var cookieGraphics = self.attachAsset('cookie', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
// Move the cookie downwards
self.y += 5;
// If the cookie is off the screen, destroy it
if (self.y > 2732) {
self.destroy();
}
};
});
// Ingredient class
var Ingredient = Container.expand(function () {
var self = Container.call(this);
var ingredientGraphics = self.attachAsset('ingredient', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
// Ingredient specific update logic
};
self.down = function (x, y, obj) {
// Create a new cake when ingredient is touched
createCake();
// Destroy the ingredient
self.destroy();
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
****/
// Initialize arrays and variables
var background = game.addChild(LK.getAsset('Background', {
anchorX: 0.5,
anchorY: 0.5,
x: 2048 / 2,
y: 2732 / 2
}));
var cakes = [];
var ingredients = [];
var cookies = [];
var score = 0;
// Create score text
var scoreTxt = new Text2('0', {
size: 150,
fill: "#ffffff"
});
scoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreTxt);
// Function to update score
function updateScore() {
scoreTxt.setText(score);
}
// Function to create a new cake
function createCake() {
var newCake = new Cake();
newCake.x = Math.random() * 2048;
newCake.y = Math.random() * 2732;
cakes.push(newCake);
game.addChild(newCake);
}
// Function to create a new ingredient
function createIngredient() {
var newIngredient = new Ingredient();
newIngredient.x = Math.random() * 2048;
newIngredient.y = Math.random() * 2732;
ingredients.push(newIngredient);
game.addChild(newIngredient);
}
// Function to create a new cookie
function createCookie() {
var newCookie = new Cookie();
newCookie.x = Math.random() * 2048;
newCookie.y = Math.random() * 2732;
game.addChild(newCookie);
}
// Handle move events
function handleMove(x, y, obj) {
// Get event position in relation to game object
var game_position = game.toLocal(obj.global);
// Check for ingredient and cake collision
for (var i = 0; i < ingredients.length; i++) {
for (var j = 0; j < cakes.length; j++) {
if (ingredients[i].intersects(cakes[j])) {
// Increase score
score += 1;
updateScore();
// Destroy ingredient
ingredients[i].destroy();
ingredients.splice(i, 1);
// Flash cake
LK.effects.flashObject(cakes[j], 0xff0000, 1000);
break;
}
}
}
}
// Mouse or touch move on game object
game.move = handleMove;
// Create initial cakes, ingredients and cookies
for (var i = 0; i < 5; i++) {
createCake();
createIngredient();
}
for (var i = 0; i < 10; i++) {
createCookie();
}
// Update game every tick
game.update = function () {
// Update cakes, ingredients and cookies
for (var i = 0; i < cakes.length; i++) {
cakes[i].update();
// Check for collision between cakes and cookies
for (var k = 0; k < cookies.length; k++) {
if (cakes[i].intersects(cookies[k])) {
// Decrease score
score -= 1;
updateScore();
// Destroy cake and cookie
cakes[i].destroy();
cakes.splice(i, 1);
cookies[k].destroy();
cookies.splice(k, 1);
break;
}
}
}
for (var j = 0; j < ingredients.length; j++) {
ingredients[j].update();
}
for (var k = 0; k < cookies.length; k++) {
cookies[k].update();
}
// Create new ingredients and cookies periodically
if (LK.ticks % 60 == 0) {
createIngredient();
}
if (LK.ticks % 120 == 0) {
createCookie();
}
};
Cake. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Cake ingredients. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Bluno cookies cartoon. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.Bluno