簡體   English   中英

加載BitmapFont Android LibGdx

[英]Load BitmapFont Android LibGdx

我試圖使用BitmapFont從文件1.ttf (LibGdx應用為Android)。 但是,無論將該文件放在何處,都會出現找不到該文件的錯誤。 這是我的代碼:

BitmapFont font = new BitmapFont(Gdx.files.internal("1.ttf"), false);

我應該在哪里放這個字體文件? 還是我應該改變什么?

您不能直接使用.ttf文件創建BitmapFont 您需要在項目中使用Gdx freetype

由於gdx-freetype是擴展,因此默認情況下它不包含在LibGDX項目中,因此請將 gdx-freetype放入項目中。 如果您的項目使用gradle進行依賴項管理,請在root build.gradle文件中添加所需的工件。

注入所需的依賴項后,請將您的.ttf文件保留在android模塊的資產文件夾中,該文件將使用config與其他模塊共享。

以這種方式使用FreeTypeFontGenerator生成BitmapFont

FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("1.ttf"));
FreeTypeFontParameter parameter = new FreeTypeFontParameter();
parameter.size = 12;
BitmapFont font12 = generator.generateFont(parameter); // font size 12 pixels
generator.dispose(); // don't forget to dispose to avoid memory leaks!

您應該將文件放在android/assets 要從Android Studio運行桌面版本,您需要按照此答案中所述修改運行配置。

您可以使用Hiero gdx工具: https : //github.com/libgdx/libgdx/wiki/Hiero可運行jar在這里: runnable-hiero

打開此jar,設置所需的字體並將其另存為BitmapFont File。 您應該將其放在{PROJECT_FOLDER}/android/assets文件夾中。 現在,當您擁有.fnt字體文件時,可以如下加載BitmapFont:

BitmapFont font = new BitmapFont(Gdx.files.internal("your_font_file.fnt"));

請記住,在不再需要它或應用程序退出時將其處置,例如:

public class App implements ApplicationListener {
    BitmapFont font;

    //...
    @Override
    public void dispose()
    {
        font.dispose();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM