+2 votes

I want to make a given text display animated, one character at a time, as if someone is typing it. I know this can be done with the Timer node, but how would I make it so that it only animates the given text once, stops animating after it's done, and then moves on to animate the next given text when called? Also, how could I vary the "typing" speed between a range or be of a random speed? I am using the LineEdit node as the input and the RichTextLabel as the output.

Thanks in advance!

in Engine by (40 points)

1 Answer

+1 vote

You can use an AnimationPlayer and play with the Characters Visible or Percent Visible property, depending if you're using a Label or a RichTextLabel. It's quite simple really, and allows you to easily change the speed (or play the animation backwards to simulate erasing).

by (10,964 points)
Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.