/****
* Classes
****/
// Coloring class
var Coloring = Container.expand(function () {
var self = Container.call(this);
var coloringGraphics = self.attachAsset('coloring', {
anchorX: 0.5,
anchorY: 0.5,
depth: 0.5 // Add depth for 3D effect
});
self.color = function (color) {
coloringGraphics.tint = color;
};
});
//<Assets used in the game will automatically appear here>
// Doll class
var Doll = Container.expand(function () {
var self = Container.call(this);
var dollGraphics = self.attachAsset('doll', {
anchorX: 0.5,
anchorY: 0.5,
depth: 0.5 // Add depth for 3D effect
});
self.dress = function (dressAsset) {
var dress = self.attachAsset(dressAsset, {
anchorX: 0.5,
anchorY: 0.5
});
dress.y = -dollGraphics.height / 2 + dress.height / 2;
};
self.containsPoint = function (point) {
var bounds = self.getBounds();
return bounds.contains(point.x, point.y);
};
});
// House class
var House = Container.expand(function () {
var self = Container.call(this);
var houseGraphics = self.attachAsset('house', {
anchorX: 0.5,
anchorY: 0.5,
depth: 0.5 // Add depth for 3D effect
});
self.clean = function () {
// Cleaning logic
console.log("House cleaned");
};
});
// Puzzle class
var Puzzle = Container.expand(function () {
var self = Container.call(this);
var puzzleGraphics = self.attachAsset('puzzle', {
anchorX: 0.5,
anchorY: 0.5,
depth: 0.5 // Add depth for 3D effect
});
self.solve = function () {
// Puzzle solving logic
console.log("Puzzle solved");
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000,
//Init game with black background
renderer: '3d' // Enable 3D rendering
});
/****
* Game Code
****/
// Initialize dolls
var dolls = [];
for (var i = 0; i < 3; i++) {
var doll = new Doll();
doll.x = 200 + i * 300;
doll.y = 500;
dolls.push(doll);
game.addChild(doll);
}
// Initialize house
var house = new House();
house.x = 1024;
house.y = 1366;
game.addChild(house);
// Initialize puzzle
var puzzle = new Puzzle();
puzzle.x = 1024;
puzzle.y = 2000;
game.addChild(puzzle);
// Initialize coloring
var coloring = new Coloring();
coloring.x = 1024;
coloring.y = 2500;
game.addChild(coloring);
// Event listeners for dressing dolls
game.down = function (x, y, obj) {
var game_position = game.toLocal(obj.global);
dolls.forEach(function (doll) {
if (doll.containsPoint(game_position)) {
doll.dress('dressAsset');
}
});
};
// Event listeners for cleaning house
house.down = function (x, y, obj) {
house.clean();
};
// Event listeners for solving puzzle
puzzle.down = function (x, y, obj) {
puzzle.solve();
};
// Event listeners for coloring
coloring.down = function (x, y, obj) {
coloring.color(0xff0000); // Example color
};
// Update function
game.update = function () {
// Game update logic
};