/**** * 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); }; }
/****
* 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.