2

私はandroidでgdx-freetypeライブラリを使用して、assets/fonts/arial.ttfにあるTrueTypeフォントからBitmapFontを生成していますこれは、画面にテキストを表示するために使用する方法です

generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/arial.ttf"));
font30 = generator.generateFont(60 , "ConectigTsrv" , false);
generator.dispose();    
Label l = new Label("Connecting to server...", new LabelStyle(font30 , Color.BLUE));
l.setX(400 - l.getWidth()/2f);
l.setY(480 - l.getHeight() - 10);
stage.addActor(l);

テキストは非常にうまく画面に出力されます

ここに画像の説明を入力

しかし、しばらくすると、またはホームボタンを押してからアプリケーションに戻ると、すべての文字が黒い四角形に変わります

ここに画像の説明を入力

何が起こっているかについて何か考えはありますか?

4

2 に答える 2

4

問題は、FreeTypeFontGenerator によって作成されたテクスチャが、この最近のコミットまで管理されていなかったことです。テクスチャが管理されていないという事実は、OpenGL コンテキストが失われた後に再読み込みする必要があることを意味します。これは、説明したようなシナリオで発生します。

libgdx を最新の nightliesにアップグレードすると、おそらく問題は解決します。

詳細については、管理されていないテクスチャの問題について、この記事で詳しく説明しています。

于 2013-11-21T13:46:09.453 に答える