User prompt
in animatepumpkin reduce squash effect by 25%
User prompt
in animatepumpkin reduce scalling effect by 50%
Code edit (1 edits merged)
Please save this source code
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'x')' in or related to this line: 'box.x = gripDemon.x;' Line Number: 352
Code edit (2 edits merged)
Please save this source code
User prompt
make sure grip demon is always above box
User prompt
Please fix the bug: 'Uncaught ReferenceError: box is not defined' in or related to this line: 'game.addChild(box); // Re-add box to ensure it stays on top of GripDemon' Line Number: 402
Code edit (4 edits merged)
Please save this source code
User prompt
everywhere there is game.addChild(gripDemon); // Re-add GripDemon to ensure it stays on top add right after game.addChild(box); // Re-add box to ensure it stays on top of GripDemon
User prompt
ensure grip demon is always behind box
User prompt
its not working, sometimes box is behind grip demon
User prompt
box should always appear above grip demon
Code edit (1 edits merged)
Please save this source code
User prompt
instantiate box over grip demon, make sure box follows the same logic as grip demon
User prompt
lower first second and third demon vertically by 200
/**** * 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); }; }
===================================================================
--- original.js
+++ change.js
@@ -53,9 +53,9 @@
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.005; // Reduced factor for a slower squash and stretch 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;
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.