Peki, bu 8 aylık bir soru, ama belki hala cevabınızla ilgileniyorsunuz. Ya da en azından aynı sorunu olan biri olacak.
Düz yazı tiplerine sahip olmak için, serbest yazı tiplerini kullanıyorum ve bunları yükleme ekranımda oluşturuyorum. Bunun için bir varlık yöneticisine ihtiyacınız var.
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();
}
}
Ve yükleme ekranında bir Ttf dosyasına göre, herhangi bir boyut ile yazı oluşturun::
Genellikle benim ana etkinliğinizi benim varlık yöneticisi oluşturmak
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);
}
}
ile Bu yöntemde herhangi bir boyutta çok düzgün yazı tipi oluşturabilirsiniz. Onları düzgün hale getirmek için hüner bu 3 hatlarında geçerli:
size2Params.fontParameters.genMipMaps = true;
size2Params.fontParameters.minFilter = TextureFilter.Linear;
size2Params.fontParameters.magFilter = TextureFilter.Linear;
Son olarak, yazı birini kullanmak gerektiğinde, kullanmak gerekir:
game.assets.get("font1.ttf", BitmapFont.class)
adıyla dikkatli olun yazı tiplerini Bu örnekte oluşturduğum 2 yazı için font1
ve font2
, calibri.ttf
olan tek bir .ttf dosyası kullandım, ancak kodumda oluşturulan yazı tiplerini çağırdığımda, böyle bir durum olmasa bile font1.ttf
veya font2.ttf
'u çağırmam gerekir. .ttf dosyaları varlığımda.
Yazı tipinizi ve sonuçlarınızı görmeniz yararlı olur. Bazı görüntüler ekleyebilir misiniz? –