使用SpriteBatch
,我可以使用此方法来展开TextureRegion
以填充固定的“世界区域”
/** Draws a rectangle with the bottom left corner at x,y and stretching the region to cover the given width and height. */
public void draw (TextureRegion region, float x, float y, float width, float height)
BitmapFont
中是否有等效的方法?
答案 0 :(得分:2)
没有。如果您需要不同大小的字体,您需要创建它们并将它们单独添加到资源中,或者您可以使用Gdx Freetype来动态生成它们(从而节省大量空间)。
https://github.com/libgdx/libgdx/wiki/Gdx-freetype
由于仅链接答案在此处无效,我将仅复制维基条目的相关部分以确保完整性:
下载最新的每晚版本。
打开libgdx-nightly-latest.zip/extensions/gdx-freetype并执行以下操作:
extract gdx-freetype.jar and gdx-freetype-natives.jar to your core project's libs folder
link gdx-freetype.jar to your core, android and desktop project
link gdx-freetype-natives.jar to your desktop project
copy armeabi/libgdx-freetype.so to your android project's libs/armeabi folder
copy armeabi-v7a/libgdx-freetype.so to your android project's libs/armeabi-v7a folder
在代码中:
FreeTypeFontGenerator generator = new
FreeTypeFontGenerator(Gdx.files.internal("fonts/myfont.ttf"));
BitmapFont font12 = generator.generateFont(12); // font size 12 pixels
BitmapFont font25 = generator.generateFont(25); // font size 25 pixels
generator.dispose(); // don't forget to dispose to avoid memory leaks!