Nun, es ist eine 8 Monate alte Frage, aber vielleicht sind Sie immer noch an der Antwort interessiert. Oder zumindest wird jemand mit dem gleichen Problem sein.
Um glatte Schriftarten zu haben, verwende ich freie Schriftarten, und ich erstelle sie in meinem Ladebildschirm. Dafür benötigen Sie einen Asset Manager.
Normalerweise schaffe ich meinen Asset Manager in meinem Haupt activty:
public class MyGdxGame extends Game implements ApplicationListener {
public SpriteBatch batch;
public AssetManager assets;
@Override
public void create() {
batch = new SpriteBatch();
assets = new AssetManager();
this.setScreen(new LoadingScreen(this));
}
@Override
public void render() {
super.render();
}
}
Und in dem Ladebildschirm erstelle ich die Schriften mit jeder Größe auf der Grundlage eine .ttf-Datei:
public class LoadingScreen implements Screen{
final MyGdxGame game;
public LoadingScreen(final MyGdxGame gam){
game = gam;
FileHandleResolver resolver = new InternalFileHandleResolver();
game.assets.setLoader(FreeTypeFontGenerator.class, new FreeTypeFontGeneratorLoader(resolver));
game.assets.setLoader(BitmapFont.class, ".ttf", new FreetypeFontLoader(resolver));
FreeTypeFontLoaderParameter size1Params = new FreeTypeFontLoaderParameter();
size1Params.fontFileName = "Fonts/calibri.ttf";
size1Params.fontParameters.genMipMaps = true;
size1Params.fontParameters.minFilter = TextureFilter.Linear;
size1Params.fontParameters.magFilter = TextureFilter.Linear;
size1Params.fontParameters.size = Gdx.graphics.getWidth()/18;
game.assets.load("font1.ttf", BitmapFont.class, size1Params);
FreeTypeFontLoaderParameter size2Params = new FreeTypeFontLoaderParameter();
size2Params.fontFileName = "Fonts/calibri.ttf";
size2Params.fontParameters.genMipMaps = true;
size2Params.fontParameters.minFilter = TextureFilter.Linear;
size2Params.fontParameters.magFilter = TextureFilter.Linear;
size2Params.fontParameters.size = Gdx.graphics.getWidth()/6;
game.assets.load("font2.ttf", BitmapFont.class, size2Params);
}
}
Mit Mit dieser Methode können Sie sehr glatte Schriftarten beliebiger Größe erstellen. Der Trick ist, in diesen drei Linien sie glatt zu machen:
size2Params.fontParameters.genMipMaps = true;
size2Params.fontParameters.minFilter = TextureFilter.Linear;
size2Params.fontParameters.magFilter = TextureFilter.Linear;
Schließlich, wenn Sie benötigen einen Ihrer Schriftart zu verwenden, müssen Sie verwenden: mit dem Namen
game.assets.get("font1.ttf", BitmapFont.class)
Seien Sie vorsichtig, deine Schriftarten Für die 2 Schriftarten, die ich in diesem Beispiel font1
und font2
erstellt habe, habe ich eine einzelne .ttf-Datei verwendet, die calibri.ttf
ist, aber wenn ich die erstellten Schriftarten in meinem Code aufrufen, muss ich font1.ttf
oder font2.ttf
aufrufen, auch wenn es keine gibt .ttf-Dateien in meinem Asset.
Es wäre hilfreich, Ihre Schriftart und das Endergebnis zu sehen. Können Sie einige Bilder hinzufügen? –