User prompt
lower first second and third demon vertically by 300
User prompt
Set game scale to 3.3 for all functions
User prompt
use the animation counter to make sure the function animatepumpkin lasts two seconds at 60fps
User prompt
max it to 50
User prompt
set an animation counter in the function animatepumpkin, start it at 0 and gradually increase it to 100 to prevent exageration of the intended script
User prompt
at the end of stage 03, 07, and 10, reset the view and scale to default
User prompt
are you able to change the view at the start of each stage
User prompt
when first second and third demon is on screen,center the view on them
User prompt
fix #4
User prompt
it doesn't fully reset properly
User prompt
everytime the music stops, reset the game scale to default and remove the zoom in effect
User prompt
when the music is stopped, reset the scale
Code edit (2 edits merged)
Please save this source code
User prompt
reset the game scale when first, second or third demon is instantiated
User prompt
reset the game scale when first, second or third demon is on screen
Code edit (2 edits merged)
Please save this source code
User prompt
Please fix the bug: 'Timeout.tick error: secondDemon is not defined' in or related to this line: 'if (!secondDemon) {' Line Number: 647
User prompt
Please fix the bug: 'Timeout.tick error: firstDemon is not defined' in or related to this line: 'if (!firstDemon) {' Line Number: 462
User prompt
make the font of instruction text bigger
Code edit (1 edits merged)
Please save this source code
User prompt
move the instruction text higher
User prompt
Lower the starting view for each stage verticaly
Code edit (1 edits merged)
Please save this source code
User prompt
lower the starting position of each stage by 300
User prompt
lower the starting position of each stage
/**** * 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.05; // Decreased speed for slower stretching effect var maxScale = 2.5; // Increased max scale for more noticeable effect var minScale = 0.5; // Decreased min scale for more noticeable effect var squashStretchFactor = 0.01; // 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 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); // 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(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(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(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(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(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(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(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(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(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(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(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(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
@@ -42,9 +42,8 @@
};
// Function to animate the pumpkin
function animatepumpkin(obj) {
// Animation logic for rewarding the player
- var animationCounter = 0; // Initialize animation counter
var pumpkin = LK.getAsset(obj.id, {
anchorX: 0.5,
anchorY: 0.5
});
@@ -57,24 +56,17 @@
var minScale = 0.5; // Decreased min scale for more noticeable effect
var squashStretchFactor = 0.01; // 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 () {
- if (animationCounter < 120) {
- // Check if animation counter is less than 100
- animationCounter++; // Increment animation counter
- }
pumpkin.scale.x += scaleSpeed * scaleDirection;
pumpkin.scale.y += scaleSpeed * scaleDirection;
// Apply squash and stretch effect
- if (animationCounter < 50) {
- // Only apply effect if animation counter is less than 100
- if (scaleDirection > 0) {
- pumpkin.scale.x += squashStretchFactor;
- pumpkin.scale.y -= squashStretchFactor;
- } else {
- pumpkin.scale.x -= squashStretchFactor;
- pumpkin.scale.y += squashStretchFactor;
- }
+ 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;
@@ -310,9 +302,9 @@
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.3); // Set zoom level by scaling the game container to 3.3
+ 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
@@ -442,9 +434,9 @@
x: stage03BluePumpkin.x,
y: stage03BluePumpkin.y
});
LK.setTimeout(function () {
- game.scale.set(3.3); // Reset scale to 3.3
+ 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
@@ -452,9 +444,9 @@
anchorX: 0.5,
anchorY: 0.5
});
firstDemon.x = 2048 / 2;
- firstDemon.y = 2732 / 2;
+ firstDemon.y = 2732 / 2 + 300;
game.addChild(firstDemon);
LK.stopMusic();
LK.setTimeout(function () {
LK.getSound('sndBreathing').play();
@@ -620,9 +612,9 @@
x: stage07BluePumpkin.x,
y: stage07BluePumpkin.y
});
LK.setTimeout(function () {
- game.scale.set(3.3); // Reset scale to 3.3
+ 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
@@ -630,9 +622,9 @@
anchorX: 0.5,
anchorY: 0.5
});
secondDemon.x = 2048 / 2;
- secondDemon.y = 2732 / 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();
@@ -758,9 +750,9 @@
x: stage10BluePumpkin.x,
y: stage10BluePumpkin.y
});
LK.setTimeout(function () {
- game.scale.set(3.3); // Reset scale to 3.3
+ 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
@@ -770,9 +762,9 @@
anchorX: 0.5,
anchorY: 0.5
});
thirdDemon.x = 2048 / 2;
- thirdDemon.y = 2732 / 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();
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.