Look under the HUD event sheet, starting at line 13 under the "Thought" Text comment line.
I'm wanting to create a typewriter effect for my text, then, after a short delay, delete that text in the same order.
The Scirra Bros
The Scirra Bros are awesome!
Of course, all that above would be typed out one letter at a time.
Then, the same message would be deleted one letter at a time in the same way it was typed...
cirra Bros are awesome!
s are awesome!
The above was shown in time lapse for illustrative purposes. <img src="smileys/smiley17.gif" border="0" align="middle" /> <img src="smileys/smiley2.gif" border="0" align="middle" />
Thanks to Ashley's example, I can get the typing effect to come out just fine:
EVENT | Every tick
ACTION | Add 1 to TextCounter
SUB-EVENT || TextCounter % 5
SUB-ACTION || Set text to left(text, TextCounter/5)
I've made some modifications to this so that it checks when the text in a variable is the same length as the "master text variable" are equal, it moves to the next step. I've included that in my capx.
It's my figuring that the "deleting" of the text one letter at a time would basically be about the same as the typing. Except that I'd use the right( ) text expression rather than the left. I've encountered a number of issues...every workaround seems to create a new problem.
My ultimate goal is to have it where certain conditions - the character discovers a new item near by, he's damaged, or detects a hidden passage - will "think" (he's a robot AI) and those thoughts will appear in a text window on the HUD. So the the typewriter effect - writing and deleting -will be a nice touch to sell the theme and the character. It's just getting it to WORK...
What usually works for me is to break the process up into stages (variable TextProcess)
TextProcess = 0
==> "Type" text as describe above
When "master text" variable & "displayed text" variable are equal
==> Set TextProcess => 1
(This is to check when the intended displayed text has fully been typed, since there will be various texts to display at any given time)
TextProcess = 1
==> Wait x seconds (this allows the text to be read by the player)
==> Set TextProcess => 2
TextProcess = 2
==> Delete text one letter at a time, left to right, just as it was originally typed
==> Set TextProcess = 0
That's the gist of what I'm trying to do. Hopefully the capx makes a little more sense and you can see what my error is.
Thank you for your time and your help/suggestions!