김성민
김성민

Reputation: 27

libgdx textanimation(one letter by one)

I'm trying to make visual novel game but i'm stuck with text animation

I tried to make it on console application for example so help me with making it on libgdx.

here's my sample code

public class TestC {

private static String message = "help me with textanimation";

    public static void main(String[] args) {
        for (int i = 0; i < message.length(); i++) {
            System.out.print(message.charAt(i));
            try {
                Thread.sleep(50);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

Thanks in advance

Upvotes: 2

Views: 483

Answers (1)

Madmenyo
Madmenyo

Reputation: 8584

Why don't you try to make it work with LibGDX and then ask help? It goes basicaly the same except instead of letting the program sleep you have to count time passed.

final float letterSpawnTime = .2f;
float timer = 0;

String completeText = "The complete text."
String drawText = "";
int stringIndex = 0;

public void update(float delta) {
  timer += delta;
  if (timer >= letterSpawnTime) {
    drawText = drawText + completeText.charAt(stringIndex);
    stringIndex++;
    timer -= letterSpawnTime;        
  }
    font.draw(someFont, drawText, x, y, etc...);
}

Something like that (written out of my head). To be a bit more efficient initialize the StringBuilder in the constructor once and just keep appending a single character to it instead of creating a new StringBuilder instance each time the you need to append a letter.

Upvotes: 1

Related Questions