ここでは、独自の を提供する方法について読むことができますAssetLoader
。
SynchronousAssetLoader
またはのいずれかを実装する必要がありAsynchronousAssetLoader
ます。これらは、ファイルをフリータイプのフォントにします。これで、ジェネレーターを使用して目的のBitmapFont
. アセット マネージャーを使用するため、ビットマップ フォントのデフォルト ローダーを次のように上書きする必要があります。
manager.setLoader(BitmapFont.class, new MyFreeTypeFontLoader(new InternalFileHandleResolver()));
経由AssetLoaderParameters
で、フォント サイズなどの詳細情報をローダーに提供できます。
次のコードはテストされていませんが、動作する可能性があります。
public class FreeTypeFontLoader extends SynchronousAssetLoader<BitmapFont, FreeTypeFontLoader.FreeTypeFontParameters> {
public FreeTypeFontLoader(FileHandleResolver resolver) {
super(resolver);
}
@Override
public BitmapFont load(AssetManager assetManager, String fileName, FileHandle file, FreeTypeFontParameters parameter) {
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(file);
return generator.generateFont(parameter.fontParameters);
}
static public class FreeTypeFontParameters extends AssetLoaderParameters<BitmapFont> {
public FreeTypeFontParameter fontParameters;
}
@Override
public Array<AssetDescriptor> getDependencies(String fileName, FileHandle file, FreeTypeFontParameters parameter) {
return null;
}
}
アップデート:
これはもう必要ありません。gdx-freetype 拡張機能には、freetype フォント自体のローダーが含まれるようになりました。