User prompt
is it possible to create an effect like you're looking through a sniper scope
User prompt
add crosshair asset on top overlay of the scene following the game scale
User prompt
make dragging faster
User prompt
Set game scale to 3.0
User prompt
make dragging faster
User prompt
game set scale 4.0
User prompt
game set scale 6.0
User prompt
zoom in even more
User prompt
add drag controls to pan around scenes
User prompt
zoom even more
User prompt
i want the view of each stage to be zoomed in
User prompt
the animation is kind of lame, freestyle it
User prompt
rather than a half arc, give it a small curve
User prompt
not a full arc, an half arc
User prompt
rather than moving slowly towards the center, make it move in an arc but faster
User prompt
the animatepumpkin squashes too fast
User prompt
the animatepumpkin stretches too fast
User prompt
this code doesn't call function 11 properly: stage10BluePumpkin.down = function (x, y, obj) { celebration(); stage10BluePumpkin.destroy(); animatepumpkin({ id: 'Stage10BluePumpkin', x: stage10BluePumpkin.x, y: stage10BluePumpkin.y }); LK.setTimeout(function () { 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; game.addChild(thirdDemon); LK.stopMusic(); // Stop Halloween music when ThirdDemon is instantiated LK.setTimeout(function () { LK.getSound('sndDemon').play(); }, 1000); }, 2000); }; // Add a two-second delay before proceeding to Function11 LK.setTimeout(function () { if (thirdDemon) { Function11(); LK.playMusic('HalloweenMusic', { loop: true }); thirdDemon.destroy(); } }, 2000); } ... inspire yourself from first and second demon to fix it
User prompt
third demon is not supposed to have a down event, its supposed to be a two second delay similar to first and second demon
User prompt
Please fix the bug: 'Timeout.tick error: Cannot set properties of null (setting 'down')' in or related to this line: 'thirdDemon.down = function (x, y, obj) {' Line Number: 745
User prompt
nothing happens after third demon appears on screen, how come?
Code edit (1 edits merged)
Please save this source code
User prompt
stage10 disappears too slow
User prompt
stage10 disappears too quickly
Code edit (1 edits merged)
Please save this source code
/**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ // Variables to track dragging state var isDragging = false; var dragStartX = 0; var dragStartY = 0; // Add sniper scope overlay var sniperScope = LK.getAsset('Crosshair', { anchorX: 0.5, anchorY: 0.5 }); sniperScope.x = 2048 / 2; sniperScope.y = 2732 / 2; game.addChild(sniperScope); // 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; 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(); } } // Declare thirdDemon globally var thirdDemon = null; // 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); // 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); game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0 game.addChild(stage01); game.addChild(gripDemon); // Re-add GripDemon to ensure it stays on top game.addChild(sniperScope); // Ensure sniper scope 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); game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0 game.addChild(stage02); game.addChild(sniperScope); // Ensure sniper scope stays on top // 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); game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0 game.addChild(stage03); game.addChild(sniperScope); // Ensure sniper scope stays on top // 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 () { 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; 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); game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0 game.addChild(stage04); game.addChild(sniperScope); // Ensure sniper scope stays on top // 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); game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0 game.addChild(stage05); game.addChild(sniperScope); // Ensure sniper scope stays on top // 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); game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0 game.addChild(stage06); game.addChild(sniperScope); // Ensure sniper scope stays on top // 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); game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0 game.addChild(stage07); game.addChild(sniperScope); // Ensure sniper scope stays on top // 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 () { 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; 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); game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0 game.addChild(stage08); game.addChild(sniperScope); // Ensure sniper scope stays on top // 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); game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0 game.addChild(stage09); game.addChild(sniperScope); // Ensure sniper scope stays on top // 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); game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0 game.addChild(stage10); game.addChild(sniperScope); // Ensure sniper scope stays on top // 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 () { 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; 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); game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0 game.addChild(stage11); game.addChild(sniperScope); // Ensure sniper scope stays on top // 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); game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0 game.addChild(stage12); game.addChild(sniperScope); // Ensure sniper scope stays on top // 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); game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0 game.addChild(stage13); game.addChild(sniperScope); // Ensure sniper scope stays on top // 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
@@ -11,17 +11,16 @@
// Variables to track dragging state
var isDragging = false;
var dragStartX = 0;
var dragStartY = 0;
-// Add crosshair asset to the top overlay of the scene
-var crosshair = LK.getAsset('Crosshair', {
+// Add sniper scope overlay
+var sniperScope = LK.getAsset('Crosshair', {
anchorX: 0.5,
anchorY: 0.5
});
-crosshair.x = 2048 / 2;
-crosshair.y = 2732 / 2;
-crosshair.scale.set(1 / game.scale.x); // Adjust scale to follow game scale
-LK.gui.center.addChild(crosshair);
+sniperScope.x = 2048 / 2;
+sniperScope.y = 2732 / 2;
+game.addChild(sniperScope);
// Add event listener for dragging
game.down = function (x, y, obj) {
isDragging = true;
dragStartX = x;
@@ -317,8 +316,9 @@
}, 500);
game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0
game.addChild(stage01);
game.addChild(gripDemon); // Re-add GripDemon to ensure it stays on top
+ game.addChild(sniperScope); // Ensure sniper scope stays on top
// Instantiate Stage01Pumpkin on the playspace
stage01BluePumpkin = LK.getAsset('Stage01BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
@@ -354,8 +354,9 @@
background.visible = true;
}, 500);
game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0
game.addChild(stage02);
+ game.addChild(sniperScope); // Ensure sniper scope stays on top
// Instantiate Stage02BluePumpkin on the playspace
stage02BluePumpkin = LK.getAsset('Stage02BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
@@ -392,8 +393,9 @@
background.visible = true;
}, 500);
game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0
game.addChild(stage03);
+ game.addChild(sniperScope); // Ensure sniper scope stays on top
// Instantiate Stage03BluePumpkin on the playspace
stage03BluePumpkin = LK.getAsset('Stage03BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
@@ -451,8 +453,9 @@
background.visible = true;
}, 500);
game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0
game.addChild(stage04);
+ game.addChild(sniperScope); // Ensure sniper scope stays on top
// Instantiate Stage04BluePumpkin on the playspace
stage04BluePumpkin = LK.getAsset('Stage04BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
@@ -489,8 +492,9 @@
background.visible = true;
}, 500);
game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0
game.addChild(stage05);
+ game.addChild(sniperScope); // Ensure sniper scope stays on top
// Instantiate Stage05BluePumpkin on the playspace
stage05BluePumpkin = LK.getAsset('Stage05BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
@@ -527,8 +531,9 @@
background.visible = true;
}, 500);
game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0
game.addChild(stage06);
+ game.addChild(sniperScope); // Ensure sniper scope stays on top
// Instantiate Stage06BluePumpkin on the playspace
stage06BluePumpkin = LK.getAsset('Stage06BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
@@ -565,8 +570,9 @@
background.visible = true;
}, 500);
game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0
game.addChild(stage07);
+ game.addChild(sniperScope); // Ensure sniper scope stays on top
// Instantiate Stage07BluePumpkin on the playspace
stage07BluePumpkin = LK.getAsset('Stage07BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
@@ -622,8 +628,9 @@
background.visible = true;
}, 500);
game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0
game.addChild(stage08);
+ game.addChild(sniperScope); // Ensure sniper scope stays on top
// Instantiate Stage08BluePumpkin on the playspace
stage08BluePumpkin = LK.getAsset('Stage08BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
@@ -660,8 +667,9 @@
background.visible = true;
}, 500);
game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0
game.addChild(stage09);
+ game.addChild(sniperScope); // Ensure sniper scope stays on top
// Instantiate Stage09BluePumpkin on the playspace
stage09BluePumpkin = LK.getAsset('Stage09BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
@@ -698,8 +706,9 @@
background.visible = true;
}, 500);
game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0
game.addChild(stage10);
+ game.addChild(sniperScope); // Ensure sniper scope stays on top
// Instantiate Stage10BluePumpkin on the playspace
stage10BluePumpkin = LK.getAsset('Stage10BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
@@ -769,8 +778,9 @@
background.visible = true;
}, 500);
game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0
game.addChild(stage11);
+ game.addChild(sniperScope); // Ensure sniper scope stays on top
// Instantiate Stage11BluePumpkin on the playspace
stage11BluePumpkin = LK.getAsset('Stage11BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
@@ -807,8 +817,9 @@
background.visible = true;
}, 500);
game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0
game.addChild(stage12);
+ game.addChild(sniperScope); // Ensure sniper scope stays on top
// Instantiate Stage12BluePumpkin on the playspace
stage12BluePumpkin = LK.getAsset('Stage12BluePumpkin', {
anchorX: 0.5,
anchorY: 0.5
@@ -845,8 +856,9 @@
background.visible = true;
}, 500);
game.scale.set(3.0); // Set zoom level by scaling the game container to 3.0
game.addChild(stage13);
+ game.addChild(sniperScope); // Ensure sniper scope stays on top
// Instantiate TheEnd image in the center of the playspace
var theEnd = LK.getAsset('TheEnd', {
anchorX: 0.5,
anchorY: 0.5
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.