User prompt
MOVE CLOSE TEXT UP WITH 70 UNITS
User prompt
IT'S STILL NOT!
User prompt
Enough with the sidetalk! I clearly stated that the "close" text should be in the top third of the box, in the middle, and "open" should be in the lower third of the box, in the middle!
User prompt
add "close" text to in the centre of the upper quarter of the box
User prompt
remove and delete close text from the game
User prompt
add "open" text to in the centre of the lower quarter of the box
User prompt
move the "close" text up with 50 units
User prompt
Please fix the bug: 'TypeError: toggleSwitch is undefined' in or related to this line: 'closeText.x = toggleSwitch.x; // Center horizontally above the toggle switch' Line Number: 227
User prompt
move the "close" text above toggleSwitch
User prompt
Slow down the ceilingLight swing
User prompt
The moment the ceilingLight starts to fall, turn on darkOverlay
User prompt
The moment the top of the ceilingLight image leaves the top of the screen, turn on darkOverlay
User prompt
Double the speed at which the ceiling light falls to the ground
User prompt
Double the speed at which the ceiling light falls to the ground
User prompt
Double the speed at which the ceiling light falls to the ground
User prompt
Double the speed at which the ceiling light falls to the ground
User prompt
Increase the ceilingLight drop rate to double the current one
User prompt
Increase the ceilingLight's drop rate to one and a half times the current one
User prompt
If the player touches the ceilingLight ten times in a row, the ceilingLight will fall to the ground at slow speed
User prompt
If the player touches the ceilingLight ten times in a row, the ceilingLight will fall to the ground at medium speed
User prompt
The boxlid is only visible when the player switches the toggleswitch from close to open
User prompt
Place the inscription "close" in the upper third of the box, in the middle
User prompt
Move the catpaw left with 20 units
User prompt
MOve the catpaw left with 100 units
User prompt
Ove the catpaw right with 100 units
/****
* Classes
****/
// Define a class for the Box Lid
var BoxLid = Container.expand(function () {
var self = Container.call(this);
var boxLidGraphics = self.attachAsset('boxLid', {
anchorX: 0.5,
anchorY: 0.5
});
self.x = 2048 / 2; // Center the box lid horizontally
self.y = 2732 / 2 + 270; // Position the box lid to fit the bottom to the top of the box
});
// Assets will be automatically created and loaded by the LK engine based on their usage in the code.
// Define a class for the Cat
var Cat = Container.expand(function () {
var self = Container.call(this);
var catGraphics = self.attachAsset('cat', {
anchorX: 0.5,
anchorY: 0.5
});
self.x = 2048 / 2;
self.y = 2732 / 2 + 190;
});
// Define a class for the Cat Paw
var CatPaw = Container.expand(function () {
var self = Container.call(this);
var pawGraphics = self.attachAsset('catPaw', {
anchorX: 0.5,
anchorY: 0.5
});
self.x = 2048 / 2 + 110 - 50 + 10 + 45 - 20 - 100 - 100 + 100;
self.y = 2732 / 2 + 550; // Move the cat arm up by 10 units
pawGraphics.rotation = Math.PI / 4; // Rotate the cat paw 45 degrees to the right
});
// Define a class for the Ceiling Light
var CeilingLight = Container.expand(function () {
var self = Container.call(this);
var lightGraphics = self.attachAsset('ceilingLight', {
anchorX: 0.5,
anchorY: 0.0
});
self.x = 2048 / 2; // Center the ceiling light horizontally
self.y = 2732 / 2 - 1400; // Move the ceiling light up by 300 units
// Initialize swaying properties
self.swaySpeed = 0.01;
self.swayDirection = 1;
self.swaying = false;
self.swayCount = 0;
// Method to start swaying
self.startSwaying = function () {
if (!self.swaying) {
self.swaying = true;
self.swayCount = 0;
self.swaySpeed = 0.01; // Reset sway speed to default
}
};
// Method to update swaying
self.updateSwaying = function () {
if (self.swaying) {
self.rotation += self.swaySpeed * self.swayDirection;
if (self.rotation > 0.349 || self.rotation < -0.349) {
// 20 degrees in radians
self.swayDirection *= -1;
}
self.swayCount++;
if (self.swayCount > 120) {
// 2 seconds at 60 FPS
self.swaySpeed *= 0.99; // Gradually slow down
if (Math.abs(self.rotation) < 0.01) {
self.rotation = 0; // Reset to original position
self.swaying = false; // Stop swaying
}
}
}
};
// Event handler for when the ceiling light is touched
self.down = function (x, y, obj) {
self.startSwaying();
self.clickCount = (self.clickCount || 0) + 1; // Increment click count
if (self.clickCount >= 10) {
self.y = 2732 / 2 + 1100; // Drop the ceiling light behind the table at half the speed
darkOverlay.toggle(); // Turn on the dark overlay
self.visible = false; // Hide the ceiling light
self.clickCount = 0; // Reset click count
}
self.swaySpeed *= 1.5; // Increase swaying speed
self.swayCount = 0; // Reset sway count
};
});
// Define a class for the DarkOverlay
var DarkOverlay = Container.expand(function () {
var self = Container.call(this);
var overlayGraphics = LK.getAsset('darkOverlay', {
anchorX: 0.0,
anchorY: 0.0,
width: 2048,
height: 2732,
alpha: 0.95
});
self.addChild(overlayGraphics);
self.visible = false; // Initially hidden
// Method to toggle visibility
self.toggle = function () {
self.visible = !self.visible;
};
});
// Define a class for the LightSwitch
var LightSwitch = Container.expand(function () {
var self = Container.call(this);
var switchGraphics = self.attachAsset('lightswitch', {
anchorX: 0.5,
anchorY: 0.5
});
self.x = 2048 / 2 + 800;
self.y = 2732 / 2 - 500; // Move the light switch up by 500 units
self.isTouched = false;
// Event handler for when the switch is touched
self.down = function (x, y, obj) {
self.isTouched = true;
// Mirror the light switch vertically
switchGraphics.scale.y *= -1;
};
});
// Define a class for the Table
var Table = Container.expand(function () {
var self = Container.call(this);
var tableGraphics = self.attachAsset('table', {
anchorX: 0.5,
anchorY: 0.5
});
self.x = 2048 / 2; // Center the table horizontally
self.y = 2732 / 2 + 2200; // Move the table down by 2000 units
});
// Define a class for the Toggle Switch
var ToggleSwitch = Container.expand(function () {
var self = Container.call(this);
var switchGraphics = self.attachAsset('toggleSwitch', {
anchorX: 0.5,
anchorY: 0.33
});
self.x = 2048 / 2;
self.y = 2732 / 2 + 700; // Move the toggle switch up by 20 units
self.isTouched = false;
// Event handler for when the switch is touched
self.down = function (x, y, obj) {
self.isTouched = true;
// Mirror the toggle switch vertically
switchGraphics.scale.y *= -1;
};
});
// Define a class for the Wallpaper
var Wallpaper = Container.expand(function () {
var self = Container.call(this);
var wallpaperGraphics = self.attachAsset('wallpaper', {
anchorX: 0.5,
anchorY: 0.5
});
self.x = 2048 / 2 - 10; // Move the wallpaper left by 10 units
self.y = 2732 / 2 - 300; // Move the wallpaper up by 300 units
});
// Define a class for the Wooden Box
var WoodenBox = Container.expand(function () {
var self = Container.call(this);
var boxGraphics = self.attachAsset('woodenBox', {
anchorX: 0.5,
anchorY: 0.5
});
self.x = 2048 / 2; // Center the wooden box horizontally
self.y = 2732 / 2 + 720; // Move the wooden box down by 220 units
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 // Init game with black background
});
/****
* Game Code
****/
// Add the wallpaper to the game
var wallpaper = game.addChild(new Wallpaper());
// Add the ceiling light to the game, ensuring it is in front of the wallpaper
ceilingLight = game.addChild(new CeilingLight());
game.setChildIndex(ceilingLight, game.children.length - 1);
// Add the box lid to the game
var boxLid = game.addChild(new BoxLid());
// Initialize game elements
var cat = game.addChild(new Cat());
// Add the table to the game
var table = game.addChild(new Table());
// Add the wooden box to the game
var woodenBox = game.addChild(new WoodenBox());
// Create and position the 'close' text
var closeText = new Text2('close', {
size: 100,
fill: "#000000"
});
closeText.anchor.set(0.5, 0.5); // Center the text
closeText.x = woodenBox.x + woodenBox.width / 2 - 100; // Position to the right center of the box
closeText.y = woodenBox.y; // Align vertically with the box
game.addChild(closeText);
var toggleSwitch = game.addChild(new ToggleSwitch());
var lightSwitch = game.addChild(new LightSwitch());
var catPaw = game.addChild(new CatPaw());
// Add the dark overlay to the game
darkOverlay = game.addChild(new DarkOverlay());
// Game update loop
game.update = function () {
// Check if the light switch is touched
if (lightSwitch.isTouched && ceilingLight.visible) {
darkOverlay.toggle(); // Toggle the dark overlay
lightSwitch.isTouched = false; // Reset the switch state
}
ceilingLight.updateSwaying(); // Update swaying effect for ceiling light
};
// Handle touch events on the game
game.down = function (x, y, obj) {
// Convert global coordinates to local game coordinates
var localPos = game.toLocal(obj.global);
// Check if the touch is on the light switch
if (lightSwitch.intersects({
x: localPos.x,
y: localPos.y,
width: 1,
height: 1
})) {
lightSwitch.down(x, y, obj);
LK.effects.flashScreen(0xff0000, 1000); // Flash screen red
LK.showGameOver(); // End the game
}
};
Tricolor cat face view. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
simple coffee table front view.
matte white rockerSwitch front view.
fehér fényű mennyezeti lámpa.
yellow stickyNote with "Let the cat sleep! Xoxo!" text and a red-stain.
thin, black, up and down arrow.