/****
* 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