User prompt
Make third string shorter by 100
User prompt
Move third string left 20
User prompt
Copy second string and place it 40 to the right of second stri
User prompt
Make string flicker when it is plucked
User prompt
Add animation to strings to make them shake back and forth like they have been plucked βͺπ‘ Consider importing and using the following plugins: @upit/tween.v1
User prompt
When string is clicked make it light up and twang effect
User prompt
Make strings clickable
User prompt
Make second string 100 shorter
User prompt
Move second string right 20
User prompt
Place second string just to the right of string
User prompt
Copy string and add to puzzleone scene
User prompt
Move string up 150
User prompt
Please fix the bug: 'Script error.' in or related to this line: 'tween(secondSceneBg, {' Line Number: 196
User prompt
Make string taller by 500
User prompt
Move string left 20
User prompt
Make string 500 taller
User prompt
Move string right 100
User prompt
Make string taller
User prompt
Please fix the bug: 'Script error.' in or related to this line: 'tween(secondSceneBg, {' Line Number: 196 βͺπ‘ Consider importing and using the following plugins: @upit/tween.v1
User prompt
Make strings actually asset size
User prompt
Move string left 400
User prompt
Make strings size actually asset size
User prompt
Reduce string size to fit in harp
User prompt
Add strings to puzzleone scene
User prompt
Add puzzleone image when click on sixth scene
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ // Add the first scene background image, centered and covering the game area // Add the first scene background image, centered and covering the game area in high definition var firstSceneBg = LK.getAsset('First', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2, // Use the full game area, but let the engine render the high-res image natively width: 2048, height: 2732 }); game.addChild(firstSceneBg); ; // Add the story image overlay at the bottom of the first scene in high definition var storyOverlay = LK.getAsset('Story', { anchorX: 0.5, anchorY: 1, x: 2048 / 2, y: 2732, // Use the full width, but let the engine render the high-res image natively width: 2048, height: 800 }); game.addChild(storyOverlay); ; // The assets are now initialized at higher resolution for high definition display.; // Add narrative text over the story overlay at the bottom of the first scene var narrativeText = new Text2("In the beginning, the world was silent.\nBut tonight, everything changes...", { size: 90, fill: 0x000000, align: "center", wordWrap: true, wordWrapWidth: 1800, fontWeight: "bold", font: "Times New Roman" }); // Center the text horizontally, anchor at the middle-top of the text narrativeText.anchor.set(0.5, 0); // Position the text above the bottom edge, inside the story overlay narrativeText.x = 2048 / 2; narrativeText.y = 2732 - 800 + 80 + 50 + 20 + 50; // moved down by 50px game.addChild(narrativeText); ; // Add a flag to track if we are on the first scene var onFirstScene = true; // Add a handler to move to the second scene on touch/click anywhere game.down = function (x, y, obj) { if (onFirstScene) { onFirstScene = false; // Fade out first scene elements tween(firstSceneBg, { alpha: 0 }, { duration: 500 }); tween(storyOverlay, { alpha: 0 }, { duration: 500 }); tween(narrativeText, { alpha: 0 }, { duration: 500, onFinish: function onFinish() { // Remove first scene elements after fade out firstSceneBg.destroy(); storyOverlay.destroy(); narrativeText.destroy(); // Add the second scene background, centered and covering the game area in high definition secondSceneBg = LK.getAsset('Second', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2, width: 2048, height: 2732, alpha: 0 }); game.addChild(secondSceneBg); // Add dream bubble image, centered near the top of the scene secondDreamBubble = LK.getAsset('Dreambubble', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2 + 500, y: 700 - 300, width: 800, height: 787.5, alpha: 0 }); game.addChild(secondDreamBubble); // Add dream image inside the dream bubble secondDream = LK.getAsset('Dream', { anchorX: 0.5, anchorY: 0.5, x: secondDreamBubble.x, y: secondDreamBubble.y - 40, // visually center inside bubble, adjust as needed width: 350, height: 350, alpha: 0 }); game.addChild(secondDream); // Add story overlay image at the bottom of the second scene in high definition secondStoryOverlay = LK.getAsset('Story', { anchorX: 0.5, anchorY: 1, x: 2048 / 2, y: 2732, width: 2048, height: 800, alpha: 0 }); game.addChild(secondStoryOverlay); // Add narrative text for the second scene secondNarrativeText = new Text2("A spark ignites in the darkness.\nA new journey begins tonight.", { size: 90, fill: 0x000000, align: "center", wordWrap: true, wordWrapWidth: 1800, fontWeight: "bold", font: "Times New Roman" }); secondNarrativeText.anchor.set(0.5, 0); secondNarrativeText.x = 2048 / 2; secondNarrativeText.y = 2732 - 800 + 80 + 50 + 20 + 50; // moved down by 50px secondNarrativeText.alpha = 0; game.addChild(secondNarrativeText); // Fade in second scene elements tween(secondSceneBg, { alpha: 1 }, { duration: 500 }); tween(secondDreamBubble, { alpha: 1 }, { duration: 500 }); tween(secondDream, { alpha: 1 }, { duration: 500 }); tween(secondStoryOverlay, { alpha: 1 }, { duration: 500 }); tween(secondNarrativeText, { alpha: 1 }, { duration: 500 }); } }); // Hoist second scene variables to outer scope for access in both transitions var secondSceneBg, secondDreamBubble, secondDream, secondStoryOverlay, secondNarrativeText; // Add handler for third scene transition var onSecondScene = true; game.down = function (x, y, obj) { if (onSecondScene) { onSecondScene = false; // Fade out second scene elements tween(secondSceneBg, { alpha: 0 }, { duration: 500 }); tween(secondDreamBubble, { alpha: 0 }, { duration: 500 }); tween(secondDream, { alpha: 0 }, { duration: 500 }); tween(secondStoryOverlay, { alpha: 0 }, { duration: 500 }); tween(secondNarrativeText, { alpha: 0 }, { duration: 500, onFinish: function onFinish() { // Remove second scene elements after fade out secondSceneBg.destroy(); if (secondDreamBubble) { secondDreamBubble.destroy(); } if (secondDream) { secondDream.destroy(); } secondStoryOverlay.destroy(); secondNarrativeText.destroy(); // Add the third scene background, centered and covering the game area in high definition thirdSceneBg = LK.getAsset('Third', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2, width: 2048, height: 2732, alpha: 0 }); game.addChild(thirdSceneBg); // Add story overlay image at the bottom of the third scene in high definition thirdStoryOverlay = LK.getAsset('Story', { anchorX: 0.5, anchorY: 1, x: 2048 / 2, y: 2732, width: 2048, height: 800, alpha: 0 }); game.addChild(thirdStoryOverlay); // Add narrative text for the third scene thirdNarrativeText = new Text2("The stars align, and destiny calls.\nThe adventure truly begins.", { size: 90, fill: 0x000000, align: "center", wordWrap: true, wordWrapWidth: 1800, fontWeight: "bold", font: "Times New Roman" }); thirdNarrativeText.anchor.set(0.5, 0); thirdNarrativeText.x = 2048 / 2; thirdNarrativeText.y = 2732 - 800 + 80 + 50 + 20 + 50; // moved down by 50px thirdNarrativeText.alpha = 0; game.addChild(thirdNarrativeText); // Fade in third scene elements if (thirdSceneBg && thirdStoryOverlay && thirdNarrativeText) { tween(thirdSceneBg, { alpha: 1 }, { duration: 500 }); tween(thirdStoryOverlay, { alpha: 1 }, { duration: 500 }); tween(thirdNarrativeText, { alpha: 1 }, { duration: 500 }); } } }); // Hoist third scene variables to outer scope for access in both transitions var thirdSceneBg, thirdStoryOverlay, thirdNarrativeText; // Add handler for fourth scene transition var onThirdScene = true; game.down = function (x, y, obj) { if (onThirdScene) { onThirdScene = false; // Fade out third scene elements tween(thirdSceneBg, { alpha: 0 }, { duration: 500 }); tween(thirdStoryOverlay, { alpha: 0 }, { duration: 500 }); tween(thirdNarrativeText, { alpha: 0 }, { duration: 500, onFinish: function onFinish() { // Remove third scene elements after fade out thirdSceneBg.destroy(); thirdStoryOverlay.destroy(); thirdNarrativeText.destroy(); // Hoist fourth scene variables to outer scope for access in both transitions fourthSceneBg = LK.getAsset('Fourth', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2, width: 2048, height: 2732, alpha: 0 }); game.addChild(fourthSceneBg); // Add story overlay image at the bottom of the fourth scene in high definition fourthStoryOverlay = LK.getAsset('Story', { anchorX: 0.5, anchorY: 1, x: 2048 / 2, y: 2732, width: 2048, height: 800, alpha: 0 }); game.addChild(fourthStoryOverlay); // Add narrative text for the fourth scene fourthNarrativeText = new Text2("A new chapter unfolds beneath the silent moon.\nYour legend is just beginning.", { size: 90, fill: 0x000000, align: "center", wordWrap: true, wordWrapWidth: 1800, fontWeight: "bold", font: "Times New Roman" }); fourthNarrativeText.anchor.set(0.5, 0); fourthNarrativeText.x = 2048 / 2; fourthNarrativeText.y = 2732 - 800 + 80 + 50 + 20 + 50; // moved down by 50px fourthNarrativeText.alpha = 0; game.addChild(fourthNarrativeText); // Fade in fourth scene elements tween(fourthSceneBg, { alpha: 1 }, { duration: 500 }); tween(fourthStoryOverlay, { alpha: 1 }, { duration: 500 }); tween(fourthNarrativeText, { alpha: 1 }, { duration: 500 }); } }); // Hoist fourth scene variables to outer scope for access in both transitions var fourthSceneBg, fourthStoryOverlay, fourthNarrativeText; // Add handler for fifth scene transition var onFourthScene = true; game.down = function (x, y, obj) { if (onFourthScene) { onFourthScene = false; // Fade out fourth scene elements tween(fourthSceneBg, { alpha: 0 }, { duration: 500 }); tween(fourthStoryOverlay, { alpha: 0 }, { duration: 500 }); tween(fourthNarrativeText, { alpha: 0 }, { duration: 500, onFinish: function onFinish() { // Remove fourth scene elements after fade out fourthSceneBg.destroy(); fourthStoryOverlay.destroy(); fourthNarrativeText.destroy(); // Hoist fifth scene variables to outer scope for access in both transitions fifthSceneBg = LK.getAsset('Fifth', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2, width: 2048, height: 2732, alpha: 0 }); game.addChild(fifthSceneBg); // Add story overlay image at the bottom of the fifth scene in high definition fifthStoryOverlay = LK.getAsset('Story', { anchorX: 0.5, anchorY: 1, x: 2048 / 2, y: 2732, width: 2048, height: 800, alpha: 0 }); game.addChild(fifthStoryOverlay); // Add narrative text for the fifth scene fifthNarrativeText = new Text2("The journey continues, brighter than ever.\nA new dawn awaits.", { size: 90, fill: 0x000000, align: "center", wordWrap: true, wordWrapWidth: 1800, fontWeight: "bold", font: "Times New Roman" }); fifthNarrativeText.anchor.set(0.5, 0); fifthNarrativeText.x = 2048 / 2; fifthNarrativeText.y = 2732 - 800 + 80 + 50 + 20 + 50; // moved down by 50px fifthNarrativeText.alpha = 0; game.addChild(fifthNarrativeText); // Fade in fifth scene elements tween(fifthSceneBg, { alpha: 1 }, { duration: 500 }); tween(fifthStoryOverlay, { alpha: 1 }, { duration: 500 }); tween(fifthNarrativeText, { alpha: 1 }, { duration: 500 }); } }); // Hoist fifth scene variables to outer scope for access in both transitions var fifthSceneBg, fifthStoryOverlay, fifthNarrativeText; // Add handler for sixth scene transition var onFifthScene = true; game.down = function (x, y, obj) { if (onFifthScene) { onFifthScene = false; // Fade out fifth scene elements tween(fifthSceneBg, { alpha: 0 }, { duration: 500 }); tween(fifthStoryOverlay, { alpha: 0 }, { duration: 500 }); tween(fifthNarrativeText, { alpha: 0 }, { duration: 500, onFinish: function onFinish() { // Remove fifth scene elements after fade out fifthSceneBg.destroy(); fifthStoryOverlay.destroy(); fifthNarrativeText.destroy(); // Add the sixth scene background, centered and covering the game area in high definition var sixthSceneBg = LK.getAsset('Sixth', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2, width: 2048, height: 2732, alpha: 0 }); game.addChild(sixthSceneBg); // Add story overlay image at the bottom of the sixth scene in high definition var sixthStoryOverlay = LK.getAsset('Story', { anchorX: 0.5, anchorY: 1, x: 2048 / 2, y: 2732, width: 2048, height: 800, alpha: 0 }); game.addChild(sixthStoryOverlay); // Add narrative text for the sixth scene var sixthNarrativeText = new Text2("The story continues beyond the horizon.\nYour adventure is limitless.", { size: 90, fill: 0x000000, align: "center", wordWrap: true, wordWrapWidth: 1800, fontWeight: "bold", font: "Times New Roman" }); sixthNarrativeText.anchor.set(0.5, 0); sixthNarrativeText.x = 2048 / 2; sixthNarrativeText.y = 2732 - 800 + 80 + 50 + 20 + 50; // moved down by 50px sixthNarrativeText.alpha = 0; game.addChild(sixthNarrativeText); // Fade in sixth scene elements tween(sixthSceneBg, { alpha: 1 }, { duration: 500 }); tween(sixthStoryOverlay, { alpha: 1 }, { duration: 500 }); tween(sixthNarrativeText, { alpha: 1 }, { duration: 500 }); // Handler for transitioning from sixth scene to end (no puzzleone scene) var onSixthScene = true; game.down = function (x, y, obj) { if (onSixthScene) { onSixthScene = false; // Fade out sixth scene elements tween(sixthSceneBg, { alpha: 0 }, { duration: 500 }); tween(sixthStoryOverlay, { alpha: 0 }, { duration: 500 }); tween(sixthNarrativeText, { alpha: 0 }, { duration: 500, onFinish: function onFinish() { // Remove sixth scene elements after fade out sixthSceneBg.destroy(); sixthStoryOverlay.destroy(); sixthNarrativeText.destroy(); // Add puzzleone image, centered and covering the game area var puzzleoneBg = LK.getAsset('Puzzleone', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2, width: 2048, height: 2732, alpha: 0 }); game.addChild(puzzleoneBg); // Add strings image, centered and covering the game area, above puzzleoneBg var stringsImg = LK.getAsset('Strings', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2 - 400, y: 2732 / 2, width: 50, height: 1500, alpha: 0 }); game.addChild(stringsImg); tween(puzzleoneBg, { alpha: 1 }, { duration: 500 }); tween(stringsImg, { alpha: 1 }, { duration: 500 }); } }); } }; } }); } }; } }; } }; } }; } };
===================================================================
--- original.js
+++ change.js
@@ -553,9 +553,9 @@
// Add strings image, centered and covering the game area, above puzzleoneBg
var stringsImg = LK.getAsset('Strings', {
anchorX: 0.5,
anchorY: 0.5,
- x: 2048 / 2,
+ x: 2048 / 2 - 400,
y: 2732 / 2,
width: 50,
height: 1500,
alpha: 0
Add more vibrant colours to picture
Make this scene more modern like in the present
A 4x5 grid in professor Layton game style. In-Game asset. 2d. High contrast. No shadows
Remove man
Saxophone in professor Layton game style. In-Game asset. 2d. High contrast. No shadows
Harp in professor Layton game style. In-Game asset. 2d. High contrast. No shadows
Drum in professor Layton game style. In-Game asset. 2d. High contrast. No shadows
Flute in professor Layton game style. In-Game asset. 2d. High contrast. No shadows
Question mark professor Layton game style. In-Game asset. 2d. High contrast. No shadows
12yo blonde girl in professor Layton game style. In-Game asset. 2d. High contrast. No shadows
Cute little10yo girl brown hair in professor Layton game style. In-Game asset. 2d. High contrast. No shadows
Cute little 7yo girl with blonde curly hair. Professor Layton game style In-Game asset. 2d. High contrast. No shadows
15 yo boy with short scruffy blonde hair professor Layton game style. In-Game asset. 2d. High contrast. No shadows
18yo girl with short brown hair professor Layton game style. In-Game asset. 2d. High contrast. No shadows
Cat in professor Layton game style. In-Game asset. 2d. High contrast. No shadows
White dog with brown patch on eyes professor Layton game style. In-Game asset. 2d. High contrast. No shadows
Turtle in professor Layton game style. In-Game asset. 2d. High contrast. No shadows
Frog in professor Layton game style. In-Game asset. 2d. High contrast. No shadows
Goldfish in professor Layton game style. In-Game asset. 2d. High contrast. No shadows
Basketball ball professor Layton game style. In-Game asset. 2d. High contrast. No shadows
Lego bricks professor Layton game style. In-Game asset. 2d. High contrast. No shadows
Video game console professor Layton game style. In-Game asset. 2d. High contrast. No shadows
Teddy bear professor Layton game style. In-Game asset. 2d. High contrast. No shadows
These dolls in professor Layton game art style
Hot chips or fries in professor Layton game style artwork. In-Game asset. 2d. High contrast. No shadows
Bowl of spaghetti in professor Layton game style artwork. In-Game asset. 2d. High contrast. No shadows
Pizza in professor Layton game style artwork. In-Game asset. 2d. High contrast. No shadows
Chocolate donut in professor Layton game style artwork. In-Game asset. 2d. High contrast. No shadows
Ice cream cone in professor Layton game style artwork. In-Game asset. 2d. High contrast. No shadows
Make her crack a small smile
The word "correct" in professor Layton game style. In-Game asset. 2d. High contrast. No shadows
The word " incorrect" in professor Layton game style. In-Game asset. 2d. High contrast. No shadows
Green tick in professor Layton gamestyle. In-Game asset. 2d. High contrast. No shadows
Button with RETRY PUZZLE on it in professor Layton game style artwork In-Game asset. 2d. High contrast. No shadows
Information symbol in professor Layton game style artwork. In-Game asset. 2d. High contrast. No shadows
Number 1 button professor Layton game style artwork. In-Game asset. 2d. High contrast. No shadows
Number 2
Number 3
Number 4
Number 5
Remove clock
Make sure J and Y is not cut off
How to play button in professor Layton game style font. In-Game asset. 2d. High contrast. No shadows
Make robe hang lower so you can't see it's feet
Make it say play new puzzle
A 16:9 title banner