2015-04-27 18 views

Odpowiedz

12

To nie jest zalecany do skalowania czcionki Bitmap, ponieważ wygląda pixlated gdy powiększony (co moim zdaniem jest brzydki)

Zaleca się używać freetype generator do zmiany rozmiaru czcionki

Jeśli nadal chcesz używać bitmapFont Tenfour04 jest poprawna

+0

Czy mogę użyć wystarczająco dużej czcionki, aby zmienić jej rozmiar za pomocą getData(). SetScale (..., ...) bez brzydkiego wyglądu? –

+0

Oczywiście, po prostu użyj większej czcionki i upewnij się, że wczytałeś jej teksturę z włączonym mapowaniem mip i użyj filtrów (MipMapLinearLinear, Linear). – Tenfour04

+0

Używam generatora Freetype, ale wygląda na to, że nie skaluje się automatycznie podczas działania na ekranie o małej rozdzielczości. Jak mogę zmniejszyć czcionkę Freetype zgodnie z rozdzielczością ekranu? –

33

Użyj bitmapFont.getData().setScale(float x, float y).

+0

gdzie bitmapFont = new BitmapFont(); –

4

jak wspomniano ryby, zaleca się używać generatora freetype następująco:

FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/timesBold.ttf")); 
FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter(); 

Następnie zmienić rozmiar czcionki w parametrze i zainicjować BitmapFont:

fontParameter.size = 18; 
BitmapFont font = fontGenerator.generateFont(fontParameter); 

konieczna jest również włączenie libgdx-freetype.so w armeabi folderze projektu.

+0

Czy mógłbyś wyjaśnić, jak określić, jakie czcionki są faktycznie dostępne i gdzie znajdują się na urządzeniu? Czy są to czcionki gdx lub czcionki systemu Android? thx – rockhammer

+0

Możesz znaleźć pliki .ttf w folderze czcionek systemu operacyjnego Windows. Następnie skopiuj żądany plik rodziny czcionek i znajdź go w folderze zasobów projektu Libgdx. –