LIBGDX FreeTypeFontGenerator - 在Android上崩溃

时间:2014-04-19 19:31:00

标签: java android libgdx true-type-fonts

我一直在尝试将.ttf字体添加到我的Android移动应用程序中。我正在使用Libgdx引擎来创建我的应用程序,并尝试添加True Type扩展以允许使用.ttf字体。这是我试图创建字体的代码。

FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("data/fonts/font.ttf"));
BitmapFont font = generator.generateFont(12);
generator.dispose();

当我调用此代码时,我的应用程序会向我发送Unfortunately, X has stopped.消息而没有其他信息。我在核心项目和android项目中都包含了gdx-freetype-sources.jargdx-freetype.jar。我已单击选项以在两个项目上导出它们。我已在libgdx-freetype.soarmeabi文件夹中加入了两个armeabi-v7a文件。

有谁能告诉我为什么这不起作用?

编辑:这是我在中的错误输出代码

04-19 15:33:08.479: E/AndroidRuntime(31195): FATAL EXCEPTION: GLThread 7533
04-19 15:33:08.479: E/AndroidRuntime(31195): Process: com.zach.nice, PID: 31195
04-19 15:33:08.479: E/AndroidRuntime(31195): java.lang.NoSuchFieldError: com.badlogic.gdx.graphics.g2d.BitmapFont$Glyph.id
04-19 15:33:08.479: E/AndroidRuntime(31195):    at com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.generateData(FreeTypeFontGenerator.java:288)
04-19 15:33:08.479: E/AndroidRuntime(31195):    at com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.generateFont(FreeTypeFontGenerator.java:137)
04-19 15:33:08.479: E/AndroidRuntime(31195):    at com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.generateFont(FreeTypeFontGenerator.java:148)
04-19 15:33:08.479: E/AndroidRuntime(31195):    at com.zach.nice.Nice.create(Nice.java:53)
04-19 15:33:08.479: E/AndroidRuntime(31195):    at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:292)
04-19 15:33:08.479: E/AndroidRuntime(31195):    at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1512)
04-19 15:33:08.479: E/AndroidRuntime(31195):    at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)

1 个答案:

答案 0 :(得分:0)

最近我遇到了同样的问题。 最新的freetypefont构建版本正在使用更新版本的libgdx,它有一些巨大的变化。在Glyph类中添加id字段就是其中之一。您所要做的就是将项目中的所有libgdx jar更新为更新的jar。

这是the link for the latest build

您的代码可能也需要进行一些更改,因为最近有很多更改为libgdx