Help needed: Want to the user to input his name and then show that text on other scene


(vic) #1

hello,
I am new to Tumult Hype.
Would like to ask the user of the scene to input his name as a text and then position that text/name on other scene

Please help me to find a way to do this.

Thank you so much


(π•„π•šπ•”π•™π•’π•–π• 𝔾𝕒𝕣𝕠𝕗𝕒𝕝𝕠) #2

The problem looks similar to this…

You could use local storage to save the value, then edit the innerHTML with the stored value.


(RenΓ©) #3

As long as it stays in the same HypeDocument a global will do. You can declare one with a javscript like this:
window.gName = '';

Hype has no way to get you a nice input textfield, you have to set it in the innerHTML of a box.
Take a look at this example:
name.hype.zip (24.5 KB)


(Georg Isert) #4

But the value is gone, if i go back to the first scene. I have a project, where this my be a great problem. How can it works if you toogle between scenes?


(π•„π•šπ•”π•™π•’π•–π• 𝔾𝕒𝕣𝕠𝕗𝕒𝕝𝕠) #5

I’m not sure exactly how to fix your problem, but here are some general comments…

// Load Sound Volume
if (localStorage.sv >= 0) {
var sv = localStorage.sv;
} else {
var sv = 8;
}

That’s an example from Annoyed Tomatoes. It’s loading the previous sound volume. It checks to see if the user previously set the volume. If the localStorage variable β€œsv” (which is short for β€œsound volume”) is greater than or equal to zero, then the user saved the value. If not, then set it to the default value of β€œ8”.

That general idea should be what you need to solve the problem. If there is a player name entered already, then don’t bother asking for it. Otherwise, the player enters their name. The tricky part is checking to see if the name variable is empty. I’m not quite sure about this part, but here’s a guess…

// Load Player Name
if (localStorage.name.length > 0) {
 // Welcome back player
} else {
 // Who are you player?
}

(Georg Isert) #6

Sorry, not the value of the sound. The value of the input-field is gone, if i go back to the prev. scene.


(Mark Hunte) #7

@Photics is offering an idea of one way to possibly solve your issue, this is an example so it is not going to be exactly what you want. The intension is you adapt the idae to your needs

We could post other examples like using a Global var. within another function but I suspect all this will do is elicit more questions because we are only giving more examples that do not match your project.

One way to help us help you is to post a project with your set up. Can you please post one.


(Georg Isert) #8

I solve the problem with the help form gasspence. My input-field look like that:
input type=text" id=β€œname” value=""
Then, in the next step, i set the input-field as a persistent symbol with the choice β€œadd to the current scene”.
name2scene.zip (26.3 KB)