user3699818
user3699818

Reputation:

Drawing Text Letter By Letter in Intervals (LIBGDX)

I'm using LibGDX and I want to know if it is possible to do a speech system where the text gets drawn letter by letter, or slowly, like a person speaking, instead of just appearing. Is this possible? Do I need to make a function to do it or does LibGDX or java have it built in??

Thanks, Luke

Upvotes: 2

Views: 249

Answers (1)

rbennett485
rbennett485

Reputation: 2163

I would recommend something similar to Sameera's comment, although a wait generally isn't a good idea for a game as it stops everything else, unless you do it in a separate thread.

Instead of waiting, perhaps use your delta times:

private float timeSinceLastLetter = 0f;
private static final float TIME_PER_LETTER = 100f;

public void render(float deltaTime) {
   // do your other rendering

   if(timeSinceLastLetter > TIME_PER_LETTER) {
       timeSinceLastLetter = 0f;
       // render your next letter here
   } else {
       timeSinceLastLetter += deltaTime;
   }
}

There's plenty more details that need filling in, but that should give a rough idea

Upvotes: 3

Related Questions