LibGDX . draw multiline text

2020-08-17 05:12发布

问题:

I am trying to write a big text using BitmapFont in libGDX . But it shows on one line and the user can see only the first part of the text . How can I make that bitmapFont made new line automatically and show whole text on the screen ?

回答1:

Either use \n for manual new lines and render the font via font.drawMultiLine(...).

Or use font.drawWrapped(...) with a wrap width to let libgdx wrap it automatically (manually added \n are still supported).

Update:
With libGDX 1.6 the draw methods were enhanced, and there is no further need for drawMultiLine and drawWrapped, so those were removed. Draw methods can handle multiple lines and a new boolean wrap parameter was introduced.



回答2:

If you take a look at the docs, you'll see that you can use the same font.draw function, except now you're passing the target location width and whether to wrap or not.

draw(Batch batch, java.lang.CharSequence str, float x, float y, float targetWidth, int halign, boolean wrap)