/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000
});
/****
* Game Code
****/
// Declare first, secondDemon and thirdDemon globally
var firstDemon = null;
var secondDemon = null;
var thirdDemon = null;
// Variables to track dragging state
var isDragging = false;
var dragStartX = 0;
var dragStartY = 0;
// Add event listener for dragging
game.down = function (x, y, obj) {
isDragging = true;
dragStartX = x;
dragStartY = y;
};
game.move = function (x, y, obj) {
if (isDragging) {
var deltaX = (x - dragStartX) * 2; // Amplify the deltaX for faster dragging
var deltaY = (y - dragStartY) * 2; // Amplify the deltaY for faster dragging
game.x += deltaX;
game.y += deltaY;
// Clamp the game position to prevent moving outside the playspace
var minX = 2048 - game.width * game.scale.x;
var minY = 2732 - game.height * game.scale.y;
game.x = Math.min(0, Math.max(minX, game.x));
game.y = Math.min(0, Math.max(minY, game.y));
dragStartX = x;
dragStartY = y;
}
};
game.up = function (x, y, obj) {
isDragging = false;
};
// Function to animate the pumpkin
function animatepumpkin(obj) {
// Animation logic for rewarding the player
var pumpkin = LK.getAsset(obj.id, {
anchorX: 0.5,
anchorY: 0.5
});
pumpkin.x = obj.x; // Start from the original pumpkin position
pumpkin.y = obj.y; // Start from the original pumpkin position
game.addChild(pumpkin);
var scaleDirection = 1;
var scaleSpeed = 0.025; // Reduced speed for slower stretching effect
var maxScale = 1.25; // Reduced max scale for less noticeable effect
var minScale = 0.25; // Reduced min scale for less noticeable effect
var squashStretchFactor = 0.00375; // Further reduced factor for a slower squash and stretch effect
var rotationSpeed = 0.05 * (Math.random() < 0.5 ? 1 : -1); // Randomize rotation direction
pumpkin.update = function () {
pumpkin.scale.x += scaleSpeed * scaleDirection;
pumpkin.scale.y += scaleSpeed * scaleDirection;
// Apply squash and stretch effect
if (scaleDirection > 0) {
pumpkin.scale.x += squashStretchFactor;
pumpkin.scale.y -= squashStretchFactor;
} else {
pumpkin.scale.x -= squashStretchFactor;
pumpkin.scale.y += squashStretchFactor;
}
pumpkin.rotation += rotationSpeed * scaleDirection;
// Move towards the center from original position
var centerX = 2048 / 2;
var centerY = 2732 / 2;
var moveSpeed = 5; // Speed of movement towards the center
var deltaX = centerX - pumpkin.x;
var deltaY = centerY - pumpkin.y;
var distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);
if (distance > moveSpeed) {
pumpkin.x += deltaX / distance * moveSpeed;
pumpkin.y += deltaY / distance * moveSpeed;
} else {
pumpkin.x = centerX;
pumpkin.y = centerY;
}
if (pumpkin.scaleX > maxScale || pumpkin.scaleX < minScale) {
scaleDirection *= -1;
}
};
LK.setTimeout(function () {
pumpkin.destroy();
}, 2000);
}
// Function to play the celebration sound
function celebration() {
LK.getSound('sndFound').play();
}
// Declare stages and stagePumpkins globally
var stage01;
var stage01BluePumpkin;
var stage02;
var stage02BluePumpkin;
var stage03;
var stage03BluePumpkin;
var stage04;
var stage04BluePumpkin;
var stage05;
var stage05BluePumpkin;
var stage06;
var stage06BluePumpkin;
var stage07;
var stage07BluePumpkin;
var stage08;
var stage08BluePumpkin;
var stage09;
var stage09BluePumpkin;
var stage10;
var stage10BluePumpkin;
var stage11;
var stage11BluePumpkin;
var stage12;
var stage12BluePumpkin;
var stage13;
var stage13BluePumpkin;
var comingSoon;
// Function to destroy splash screen elements
function destroySplashScreenElements() {
if (splashScreen) {
splashScreen.destroy();
}
if (splashScreenPumpkin) {
splashScreenPumpkin.destroy();
}
if (relaxModeButton) {
relaxModeButton.destroy();
}
if (raceButton) {
raceButton.destroy();
}
if (comingSoon) {
comingSoon.destroy();
}
}
// Function to destroy Stage elements
function destroyStageElements() {
if (stage01) {
stage01.destroy();
}
if (stage01BluePumpkin) {
stage01BluePumpkin.destroy();
}
if (stage02) {
stage02.destroy();
}
if (stage02BluePumpkin) {
stage02BluePumpkin.destroy();
}
if (stage03) {
stage03.destroy();
}
if (stage03BluePumpkin) {
stage03BluePumpkin.destroy();
}
if (stage04) {
stage04.destroy();
}
if (stage04BluePumpkin) {
stage04BluePumpkin.destroy();
}
if (stage05) {
stage05.destroy();
}
if (stage05BluePumpkin) {
stage05BluePumpkin.destroy();
}
if (stage06) {
stage06.destroy();
}
if (stage06BluePumpkin) {
stage06BluePumpkin.destroy();
}
if (stage07) {
stage07.destroy();
}
if (stage07BluePumpkin) {
stage07BluePumpkin.destroy();
}
if (stage08) {
stage08.destroy();
}
if (stage08BluePumpkin) {
stage08BluePumpkin.destroy();
}
if (stage09) {
stage09.destroy();
}
if (stage09BluePumpkin) {
stage09BluePumpkin.destroy();
}
if (stage10) {
stage10.destroy();
}
if (stage10BluePumpkin) {
stage10BluePumpkin.destroy();
}
if (stage11) {
stage11.destroy();
}
if (stage11BluePumpkin) {
stage11BluePumpkin.destroy();
}
if (stage12) {
stage12.destroy();
}
if (stage12BluePumpkin) {
stage12BluePumpkin.destroy();
}
if (stage13) {
stage13.destroy();
}
if (stage13BluePumpkin) {
stage13BluePumpkin.destroy();
}
if (background) {
background.visible = false;
}
}
// Instantiate the background in the center of the playspace
var background = LK.getAsset('Background', {
anchorX: 0.5,
anchorY: 0.5
});
background.x = 2048 / 2;
background.y = 2732 / 2;
game.addChild(background);
// Play and loop Halloween music
LK.playMusic('HalloweenMusic', {
loop: true
});
// Instantiate the splash screen in the center of the playspace
var splashScreen = LK.getAsset('SplashScreen', {
anchorX: 0.5,
anchorY: 0.5
});
splashScreen.x = 2048 / 2;
splashScreen.y = 2732 / 2 + 360;
game.addChild(splashScreen);
// Instantiate the splashscreenpumpkin on the playspace
var splashScreenPumpkin = LK.getAsset('SplashScreenPumpkin', {
anchorX: 0.5,
anchorY: 0.5
});
splashScreenPumpkin.x = 2048 / 2 + 15;
splashScreenPumpkin.y = 2732 / 2 + 1020;
game.addChild(splashScreenPumpkin);
// Instantiate RaceButton to the right of splashScreenPumpkin
var raceButton = LK.getAsset('RaceButton', {
anchorX: 0.5,
anchorY: 0.5
});
raceButton.x = splashScreenPumpkin.x + 500; // Adjust position to the right
raceButton.y = splashScreenPumpkin.y;
game.addChild(raceButton);
// Instantiate ComingSoon over RaceButton
var comingSoon = LK.getAsset('Comingsoon', {
anchorX: 0.5,
anchorY: 0.5
});
comingSoon.x = raceButton.x;
comingSoon.y = raceButton.y;
game.addChild(comingSoon);
// Instantiate RelaxModeButton to the left of splashScreenPumpkin
var relaxModeButton = LK.getAsset('RelaxModeButton', {
anchorX: 0.5,
anchorY: 0.5
});
relaxModeButton.x = splashScreenPumpkin.x - 500; // Adjust position to the left
relaxModeButton.y = splashScreenPumpkin.y;
game.addChild(relaxModeButton);
// Removed duplicate splashScreen instantiation
// Add event listener to splashScreenPumpkin to call destroySplashScreenElements on press
relaxModeButton.down = function (x, y, obj) {
destroySplashScreenElements();
Function01();
};
// Animate splashScreenPumpkin to bob up and down slowly
var bobDirection = 1;
var bobSpeed = 0.1;
var bobRange = 5;
var originalY = splashScreenPumpkin.y;
LK.setInterval(function () {
splashScreenPumpkin.y += bobSpeed * bobDirection;
if (splashScreenPumpkin.y > originalY + bobRange || splashScreenPumpkin.y < originalY - bobRange) {
bobDirection *= -1;
}
}, 1000 / 60); // 60 FPS
// Instantiate a box
var box = LK.getAsset('box', {
anchorX: 0.5,
anchorY: 0.5
});
box.x = 1024;
box.y = 841 - 300;
game.addChild(box);
// Instantiate GripDemon in the center of the playspace
var gripDemon = LK.getAsset('GripDemon', {
anchorX: 0.5,
anchorY: 0.5
});
gripDemon.x = 2048 / 2;
gripDemon.y = 2732 / 2 - 1300;
game.addChild(gripDemon);
// Function to change view at the start of each stage
function changeView(stage) {
game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0
game.x = (2048 - stage.width * game.scale.x) / 2;
game.y = (2732 - stage.height * game.scale.y) / 2;
}
// Function01 to instantiate Stage01 and Stage01Pumpkin
function Function01() {
// Instantiate Stage01 in the center of the playspace
stage01 = LK.getAsset('Stage01', {
anchorX: 0.5,
anchorY: 0.5
});
stage01.x = 2048 / 2;
stage01.y = 2732 / 2 + 360;
LK.setTimeout(function () {
background.visible = true;
}, 500);
changeView(stage01);
game.addChild(stage01);
// Add instructional text for five seconds
var instructionText = new Text2('Controls: Drag to move, \n find and tap the Pumpkin', {
size: 50,
// Increased font size
fill: "#ff0000",
background: "#333333",
stroke: "#000000",
// Add black outline
strokeThickness: 5 // Set outline thickness
});
instructionText.anchor.set(0.5, 0.5);
instructionText.x = game.width / 2;
instructionText.y = game.height / 2 - 250;
game.addChild(instructionText);
LK.setTimeout(function () {
instructionText.destroy();
}, 10000);
game.addChild(gripDemon); // Re-add GripDemon to ensure it stays on top
// Instantiate Stage01Pumpkin on the playspace
stage01BluePumpkin = LK.getAsset('Stage01BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
});
stage01BluePumpkin.x = 2048 / 2 + 100;
stage01BluePumpkin.y = 2732 / 2 + 425;
game.addChild(stage01BluePumpkin);
game.addChild(box); // Re-add box to ensure it stays on top of GripDemon
game.addChild(gripDemon); // Re-add GripDemon to ensure it stays on top
// Add event listener to stage01Pumpkin to call destroyStage01Elements and Function02 on press
stage01BluePumpkin.down = function (x, y, obj) {
celebration();
stage01BluePumpkin.destroy();
animatepumpkin({
id: 'Stage01BluePumpkin',
x: stage01BluePumpkin.x,
y: stage01BluePumpkin.y
});
LK.setTimeout(function () {
destroyStageElements();
Function02();
}, 2000);
};
}
// Function02 to instantiate Stage02 and Stage02BluePumpkin
function Function02() {
// Instantiate Stage02 in the center of the playspace
stage02 = LK.getAsset('Stage02', {
anchorX: 0.5,
anchorY: 0.5
});
stage02.x = 2048 / 2;
stage02.y = 2732 / 2 + 360;
LK.setTimeout(function () {
background.visible = true;
}, 500);
changeView(stage02);
game.addChild(stage02);
// Instantiate Stage02BluePumpkin on the playspace
stage02BluePumpkin = LK.getAsset('Stage02BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
});
stage02BluePumpkin.x = 2048 / 2 + 880;
stage02BluePumpkin.y = 2732 / 2 + 875;
game.addChild(stage02BluePumpkin);
game.addChild(box); // Re-add box to ensure it stays on top of GripDemon
game.addChild(gripDemon); // Re-add GripDemon to ensure it stays on top
// Add event listener to stage02BluePumpkin to call destroyStage02Elements and Function03 on press
stage02BluePumpkin.down = function (x, y, obj) {
celebration();
stage02BluePumpkin.destroy();
animatepumpkin({
id: 'Stage02BluePumpkin',
x: stage02BluePumpkin.x,
y: stage02BluePumpkin.y
});
LK.setTimeout(function () {
destroyStageElements();
Function03();
}, 2000);
};
}
// Function03 to instantiate Stage03 and Stage03BluePumpkin
function Function03() {
// Instantiate Stage03 in the center of the playspace
stage03 = LK.getAsset('Stage03', {
anchorX: 0.5,
anchorY: 0.5
});
stage03.x = 2048 / 2;
stage03.y = 2732 / 2 + 360;
LK.setTimeout(function () {
background.visible = true;
}, 500);
if (!firstDemon) {
changeView(stage03);
}
game.addChild(stage03);
// Instantiate Stage03BluePumpkin on the playspace
stage03BluePumpkin = LK.getAsset('Stage03BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
});
stage03BluePumpkin.x = 2048 / 2 - 960;
stage03BluePumpkin.y = 2732 / 2 + 1260;
game.addChild(stage03BluePumpkin);
game.addChild(box); // Re-add box to ensure it stays on top of GripDemon
game.addChild(gripDemon); // Re-add GripDemon to ensure it stays on top
// Add event listener to stage03BluePumpkin to call destroyStageElements on press
stage03BluePumpkin.down = function (x, y, obj) {
celebration();
stage03BluePumpkin.destroy();
animatepumpkin({
id: 'Stage03BluePumpkin',
x: stage03BluePumpkin.x,
y: stage03BluePumpkin.y
});
LK.setTimeout(function () {
game.scale.set(1.0); // Reset scale to default
game.x = 0; // Reset x position to default
game.y = 0; // Reset y position to default
destroyStageElements();
// Instantiate FirstDemon in the center of the playspace
var firstDemon = LK.getAsset('FirstDemon', {
anchorX: 0.5,
anchorY: 0.5
});
firstDemon.x = 2048 / 2;
firstDemon.y = 2732 / 2 + 300;
game.addChild(firstDemon);
LK.stopMusic();
LK.setTimeout(function () {
LK.getSound('sndBreathing').play();
}, 1000);
// Add event listener to FirstDemon to call Function04, restart music, and destroy self on press
LK.setTimeout(function () {
Function04();
LK.playMusic('HalloweenMusic', {
loop: true
});
firstDemon.destroy();
}, 3000);
}, 2000);
};
}
// Function04 to instantiate Stage04 and Stage04BluePumpkin
function Function04() {
// Instantiate Stage04 in the center of the playspace
stage04 = LK.getAsset('Stage04', {
anchorX: 0.5,
anchorY: 0.5,
scaleX: 1,
scaleY: 1
});
stage04.x = 2048 / 2;
stage04.y = 2732 / 2 + 360;
LK.setTimeout(function () {
background.visible = true;
}, 500);
changeView(stage04);
game.addChild(stage04);
// Instantiate Stage04BluePumpkin on the playspace
stage04BluePumpkin = LK.getAsset('Stage04BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
});
stage04BluePumpkin.x = 2048 / 2 - 365; // Example position
stage04BluePumpkin.y = 2732 / 2 + 470; // Example position
game.addChild(stage04BluePumpkin);
game.addChild(box); // Re-add box to ensure it stays on top of GripDemon
game.addChild(gripDemon); // Re-add GripDemon to ensure it stays on top
// Add event listener to stage04BluePumpkin to call destroyStageElements and Function05 on press
stage04BluePumpkin.down = function (x, y, obj) {
celebration();
stage04BluePumpkin.destroy();
animatepumpkin({
id: 'Stage04BluePumpkin',
x: stage04BluePumpkin.x,
y: stage04BluePumpkin.y
});
LK.setTimeout(function () {
destroyStageElements();
Function05();
}, 2000);
};
}
// Function05 to instantiate Stage05 and Stage05BluePumpkin
function Function05() {
// Instantiate Stage05 in the center of the playspace
stage05 = LK.getAsset('Stage05', {
anchorX: 0.5,
anchorY: 0.5
});
stage05.x = 2048 / 2;
stage05.y = 2732 / 2 + 360;
LK.setTimeout(function () {
background.visible = true;
}, 500);
changeView(stage05);
game.addChild(stage05);
// Instantiate Stage05BluePumpkin on the playspace
stage05BluePumpkin = LK.getAsset('Stage05BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
});
stage05BluePumpkin.x = 2048 / 2 + 875; // Example position
stage05BluePumpkin.y = 2732 / 2 + 800; // Example position
game.addChild(stage05BluePumpkin);
game.addChild(box); // Re-add box to ensure it stays on top of GripDemon
game.addChild(gripDemon); // Re-add GripDemon to ensure it stays on top
// Add event listener to stage05BluePumpkin to call destroyStageElements and Function06 on press
stage05BluePumpkin.down = function (x, y, obj) {
celebration();
stage05BluePumpkin.destroy();
animatepumpkin({
id: 'Stage05BluePumpkin',
x: stage05BluePumpkin.x,
y: stage05BluePumpkin.y
});
LK.setTimeout(function () {
destroyStageElements();
Function06();
}, 2000);
};
}
// Function06 to instantiate Stage06 and Stage06BluePumpkin
function Function06() {
// Instantiate Stage06 in the center of the playspace
stage06 = LK.getAsset('Stage06', {
anchorX: 0.5,
anchorY: 0.5
});
stage06.x = 2048 / 2;
stage06.y = 2732 / 2 + 360;
LK.setTimeout(function () {
background.visible = true;
}, 500);
changeView(stage06);
game.addChild(stage06);
// Instantiate Stage06BluePumpkin on the playspace
stage06BluePumpkin = LK.getAsset('Stage06BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
});
stage06BluePumpkin.x = 2048 / 2 - 300; // Example position
stage06BluePumpkin.y = 2732 / 2 + 1000; // Example position
game.addChild(stage06BluePumpkin);
game.addChild(box); // Re-add box to ensure it stays on top of GripDemon
game.addChild(gripDemon); // Re-add GripDemon to ensure it stays on top
// Add event listener to stage06BluePumpkin to call destroyStageElements on press
stage06BluePumpkin.down = function (x, y, obj) {
celebration();
stage06BluePumpkin.destroy();
animatepumpkin({
id: 'Stage06BluePumpkin',
x: stage06BluePumpkin.x,
y: stage06BluePumpkin.y
});
LK.setTimeout(function () {
destroyStageElements();
Function07();
}, 2000);
};
}
// Function07 to instantiate Stage07 and Stage07BluePumpkin
function Function07() {
// Instantiate Stage07 in the center of the playspace
stage07 = LK.getAsset('Stage07', {
anchorX: 0.5,
anchorY: 0.5
});
stage07.x = 2048 / 2;
stage07.y = 2732 / 2 + 360;
LK.setTimeout(function () {
background.visible = true;
}, 500);
if (!secondDemon) {
changeView(stage07);
}
game.addChild(stage07);
// Instantiate Stage07BluePumpkin on the playspace
stage07BluePumpkin = LK.getAsset('Stage07BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
});
stage07BluePumpkin.x = 2048 / 2 - 850; // Example position
stage07BluePumpkin.y = 2732 / 2 + 75; // Example position
game.addChild(stage07BluePumpkin);
game.addChild(box); // Re-add box to ensure it stays on top of GripDemon
game.addChild(gripDemon); // Re-add GripDemon to ensure it stays on top
// Add event listener to stage07BluePumpkin to call destroyStageElements on press
stage07BluePumpkin.down = function (x, y, obj) {
celebration();
stage07BluePumpkin.destroy();
animatepumpkin({
id: 'Stage07BluePumpkin',
x: stage07BluePumpkin.x,
y: stage07BluePumpkin.y
});
LK.setTimeout(function () {
game.scale.set(1.0); // Reset scale to default
game.x = 0; // Reset x position to default
game.y = 0; // Reset y position to default
destroyStageElements();
// Instantiate SecondDemon in the center of the playspace
var secondDemon = LK.getAsset('SecondDemon', {
anchorX: 0.5,
anchorY: 0.5
});
secondDemon.x = 2048 / 2;
secondDemon.y = 2732 / 2 + 300;
game.addChild(secondDemon);
LK.stopMusic(); // Stop Halloween music when SecondDemon is instantiated
LK.setTimeout(function () {
LK.getSound('sndDog').play();
}, 1000);
// Add event listener to SecondDemon to call Function08, restart music, and destroy self on press
LK.setTimeout(function () {
Function08();
LK.playMusic('HalloweenMusic', {
loop: true
});
secondDemon.destroy();
}, 3000);
}, 2000);
};
}
// Function08 to instantiate Stage08 and Stage08BluePumpkin
function Function08() {
// Instantiate Stage08 in the center of the playspace
stage08 = LK.getAsset('Stage08', {
anchorX: 0.5,
anchorY: 0.5
});
stage08.x = 2048 / 2;
stage08.y = 2732 / 2 + 360;
LK.setTimeout(function () {
background.visible = true;
}, 500);
changeView(stage08);
game.addChild(stage08);
// Instantiate Stage08BluePumpkin on the playspace
stage08BluePumpkin = LK.getAsset('Stage08BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
});
stage08BluePumpkin.x = 2048 / 2 + 500; // Example position
stage08BluePumpkin.y = 2732 / 2 + 1000; // Example position
game.addChild(stage08BluePumpkin);
game.addChild(box); // Re-add box to ensure it stays on top of GripDemon
game.addChild(gripDemon); // Re-add GripDemon to ensure it stays on top
// Add event listener to stage08BluePumpkin to call destroyStageElements and Function09 on press
stage08BluePumpkin.down = function (x, y, obj) {
celebration();
stage08BluePumpkin.destroy();
animatepumpkin({
id: 'Stage08BluePumpkin',
x: stage08BluePumpkin.x,
y: stage08BluePumpkin.y
});
LK.setTimeout(function () {
destroyStageElements();
Function09();
}, 2000);
};
}
// Function09 to instantiate Stage09 and Stage09BluePumpkin
function Function09() {
// Instantiate Stage09 in the center of the playspace
stage09 = LK.getAsset('Stage09', {
anchorX: 0.5,
anchorY: 0.5
});
stage09.x = 2048 / 2;
stage09.y = 2732 / 2 + 360;
LK.setTimeout(function () {
background.visible = true;
}, 500);
changeView(stage09);
game.addChild(stage09);
// Instantiate Stage09BluePumpkin on the playspace
stage09BluePumpkin = LK.getAsset('Stage09BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
});
stage09BluePumpkin.x = 2048 / 2 + 800; // Example position
stage09BluePumpkin.y = 2732 / 2 + 300; // Example position
game.addChild(stage09BluePumpkin);
game.addChild(box); // Re-add box to ensure it stays on top of GripDemon
game.addChild(gripDemon); // Re-add GripDemon to ensure it stays on top
// Add event listener to stage09BluePumpkin to call destroyStageElements and Function10 on press
stage09BluePumpkin.down = function (x, y, obj) {
celebration();
stage09BluePumpkin.destroy();
animatepumpkin({
id: 'Stage09BluePumpkin',
x: stage09BluePumpkin.x,
y: stage09BluePumpkin.y
});
LK.setTimeout(function () {
destroyStageElements();
Function10();
}, 2000);
};
}
// Function10 to instantiate Stage10 and Stage10BluePumpkin
function Function10() {
// Instantiate Stage10 in the center of the playspace
stage10 = LK.getAsset('Stage10', {
anchorX: 0.5,
anchorY: 0.5
});
stage10.x = 2048 / 2;
stage10.y = 2732 / 2 + 360;
LK.setTimeout(function () {
background.visible = true;
}, 500);
if (!thirdDemon) {
changeView(stage10);
}
game.addChild(stage10);
// Instantiate Stage10BluePumpkin on the playspace
stage10BluePumpkin = LK.getAsset('Stage10BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
});
stage10BluePumpkin.x = 2048 / 2 - 375; // Example position
stage10BluePumpkin.y = 2732 / 2 + 1100; // Example position
game.addChild(stage10BluePumpkin);
game.addChild(box); // Re-add box to ensure it stays on top of GripDemon
game.addChild(gripDemon); // Re-add GripDemon to ensure it stays on top
// Add event listener to stage10BluePumpkin to call celebration, destroyStageElements, and instantiate ThirdDemon
stage10BluePumpkin.down = function (x, y, obj) {
celebration();
stage10BluePumpkin.destroy();
animatepumpkin({
id: 'Stage10BluePumpkin',
x: stage10BluePumpkin.x,
y: stage10BluePumpkin.y
});
LK.setTimeout(function () {
game.scale.set(1.0); // Reset scale to default
game.x = 0; // Reset x position to default
game.y = 0; // Reset y position to default
destroyStageElements();
}, 2000); // Decreased delay to 1000ms to make stage10 disappear faster
LK.setTimeout(function () {
// Instantiate ThirdDemon in the center of the playspace
thirdDemon = LK.getAsset('ThirdDemon', {
anchorX: 0.5,
anchorY: 0.5
});
thirdDemon.x = 2048 / 2;
thirdDemon.y = 2732 / 2 + 300;
game.addChild(thirdDemon);
LK.stopMusic(); // Stop Halloween music when ThirdDemon is instantiated
LK.setTimeout(function () {
LK.getSound('sndDemon').play();
}, 1000);
// Add a two-second delay before proceeding to Function11
LK.setTimeout(function () {
if (thirdDemon) {
Function11();
LK.playMusic('HalloweenMusic', {
loop: true
});
thirdDemon.destroy();
}
}, 2000);
}, 2000);
};
// Add a two-second delay before proceeding to Function11
LK.setTimeout(function () {
if (thirdDemon) {
Function11();
LK.playMusic('HalloweenMusic', {
loop: true
});
thirdDemon.destroy();
}
}, 2000);
}
// Function11 to instantiate Stage11 and Stage11BluePumpkin
function Function11() {
// Instantiate Stage11 in the center of the playspace
stage11 = LK.getAsset('Stage11', {
anchorX: 0.5,
anchorY: 0.5
});
stage11.x = 2048 / 2;
stage11.y = 2732 / 2 + 360;
LK.setTimeout(function () {
background.visible = true;
}, 500);
changeView(stage11);
game.addChild(stage11);
// Instantiate Stage11BluePumpkin on the playspace
stage11BluePumpkin = LK.getAsset('Stage11BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
});
stage11BluePumpkin.x = 2048 / 2 - 640; // Example position
stage11BluePumpkin.y = 2732 / 2 - 125; // Example position
game.addChild(stage11BluePumpkin);
game.addChild(box); // Re-add box to ensure it stays on top of GripDemon
game.addChild(gripDemon); // Re-add GripDemon to ensure it stays on top
// Add event listener to stage11BluePumpkin to call destroyStageElements and Function12 on press
stage11BluePumpkin.down = function (x, y, obj) {
celebration();
stage11BluePumpkin.destroy();
animatepumpkin({
id: 'Stage11BluePumpkin',
x: stage11BluePumpkin.x,
y: stage11BluePumpkin.y
});
LK.setTimeout(function () {
destroyStageElements();
Function12();
}, 2000);
};
}
// Function12 to instantiate Stage12 and Stage12BluePumpkin
function Function12() {
// Instantiate Stage12 in the center of the playspace
stage12 = LK.getAsset('Stage12', {
anchorX: 0.5,
anchorY: 0.5
});
stage12.x = 2048 / 2;
stage12.y = 2732 / 2 + 360;
LK.setTimeout(function () {
background.visible = true;
}, 500);
changeView(stage12);
game.addChild(stage12);
// Instantiate Stage12BluePumpkin on the playspace
stage12BluePumpkin = LK.getAsset('Stage12BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
});
stage12BluePumpkin.x = 2048 / 2 + 575; // Example position
stage12BluePumpkin.y = 2732 / 2 + 500; // Example position
game.addChild(stage12BluePumpkin);
game.addChild(box); // Re-add box to ensure it stays on top of GripDemon
game.addChild(gripDemon); // Re-add GripDemon to ensure it stays on top
// Add event listener to stage12BluePumpkin to call destroyStageElements and Function13 on press
stage12BluePumpkin.down = function (x, y, obj) {
celebration();
stage12BluePumpkin.destroy();
animatepumpkin({
id: 'Stage12BluePumpkin',
x: stage12BluePumpkin.x,
y: stage12BluePumpkin.y
});
LK.setTimeout(function () {
destroyStageElements();
Function13();
}, 2000);
};
}
// Function13 to instantiate Stage13 and Stage13BluePumpkin
function Function13() {
// Instantiate Stage13 in the center of the playspace
stage13 = LK.getAsset('Stage13', {
anchorX: 0.5,
anchorY: 0.5
});
stage13.x = 2048 / 2;
stage13.y = 2732 / 2 + 360;
LK.setTimeout(function () {
background.visible = true;
}, 500);
changeView(stage13);
game.addChild(stage13);
// Instantiate TheEnd image in the center of the playspace
var theEnd = LK.getAsset('TheEnd', {
anchorX: 0.5,
anchorY: 0.5
});
theEnd.x = 2048 / 2 + 50;
theEnd.y = 2732 / 2 + 700;
game.addChild(theEnd);
// Instantiate Stage13BluePumpkin on the playspace
stage13BluePumpkin = LK.getAsset('Stage13BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
});
stage13BluePumpkin.x = 2048 / 2 - 575; // Example position
stage13BluePumpkin.y = 2732 / 2 - 100; // Example position
game.addChild(stage13BluePumpkin);
game.addChild(box); // Re-add box to ensure it stays on top of GripDemon
game.addChild(gripDemon); // Re-add GripDemon to ensure it stays on top
// Add event listener to stage13BluePumpkin to trigger game over on press
stage13BluePumpkin.down = function (x, y, obj) {
celebration();
stage13BluePumpkin.destroy();
animatepumpkin({
id: 'Stage13BluePumpkin',
x: stage13BluePumpkin.x,
y: stage13BluePumpkin.y
});
LK.setTimeout(function () {
LK.showGameOver(); // Trigger game over
// Instantiate TheEnd image in the center of the playspace
var theEnd = LK.getAsset('TheEnd', {
anchorX: 0.5,
anchorY: 0.5
});
theEnd.x = 2048 / 2;
theEnd.y = 2732 / 2;
game.addChild(theEnd);
}, 2000);
};
}
Generate a high quality cartoon background Halloween image on a black canvas similar to the format of where is waldo. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
yellow star. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
cartoon old splintered wood background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
demon goat staring. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
dark cartoon cloudy skies high quality background make it simple and minimalistic.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Generate a high quality cartoon background Halloween image on a black canvas similar to the format of where is waldo with a hellish environment. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Generate a high quality cartoon background Halloween image on a black canvas similar to the format of where is waldo with a hellish environment. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Generate a high quality cartoon background Halloween image on a black canvas similar to the format of where is waldo with a hellish environment. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Generate a high quality cartoon background Halloween image on a black canvas similar to the format of where is waldo with a hellish environment. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
demon dog staring. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Generate a high quality cartoon background Halloween image on a black canvas similar to the format of where is waldo with a hellish environment. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Generate a high quality cartoon background Halloween image on a black canvas similar to the format of where is waldo with a hellish lake environment. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Generate a high quality cartoon background Halloween image on a black canvas similar to the format of where is waldo with a hellish lake environment. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
scary demon staring. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Generate a high quality cartoon background Halloween image on a black canvas similar to the format of where is waldo with a hellish environment filled with pumpkins. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Generate a high quality cartoon background Halloween filled with pumpkins. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Generate a high quality cartoon background Halloween image on a black canvas similar to the format of where is waldo with a hellish environment filled with pumpkins. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
an orange halloween pumpkin with glasses Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
button that says relax in orange, black outline of the letters. high contrast. has a pumpkin on it Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
button that says race in orange, black outline of the letters. high contrast. has a pumpkin on it square button with rounded corners Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. png background
coming soon letters in white. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Round Black Ellipse with a Transparent Hole in the Middle. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.