2012-03-10 16 views
6

Android için libGDX (PC üzerinde de çalışabilen güzel OpenGL sarıcı) ile tamamen bir noob'um ve resim ve şekillerin nasıl gösterileceğine dair güzel örnekler okudum. Ancak, metnin nasıl görüntüleneceğine bakmak istediğimde, bu kitaplığın desteklediğini görebildiğim tek şeyin, her karakter için bir bitmap kullanan BitmapFont olduğunu fark ettim. Bazı çözünürlükler ve yazı tipi boyutları için sorun değil, ancak diğer durumlar için bulanık/pikselli hale gelir.Libgdx kullanarak vektörlü metin nasıl gösterilir?

Bu güzel kitaplığı kullanarak metni göstermenin başka bir yolu var mı? Vektör yazı tiplerini göstermenin bir çeşit yolu ve ".fnt" dışındaki diğer popüler fontlar uzantılarını kullanıyor musunuz?

cevap

4

generating bitmap fonts on the fly from TrueType font files ile ilgili badlogic blog'da, ölçeklendiğinde çirkin olan paketlenmiş yazı tipi dosyalarıyla ilgili sorunlarınızın ele alınması gereken yakın bir giriş var.

Android ve libGDX için yeni iken libGDX ile ölçeklendirilebilir metin çizmek için bir vektör yazı tipi çözümünü aradım. Hiç bir şey bulamadım (genel Java veya genel Android bile). Bulduğum yazı tipi çözümlerinin çoğu bitmap'ler üzerine inşa edilmiş veya çok karmaşık oluşturma sistemleriydi (OpenGL'ye uyum sağlamak zor olurdu). Bu benim için de biraz garip görünüyor ve tutarlı bir açıklama bulamadım.

+0

Bu çok umut verici görünüyor ve insanlar onlar için çalıştığı yazdı. nasıl henüz inşa edilmedi? düzeltilmesi gereken bazı hatalar var mı? –

+0

da, bitmapler oluşturmak zorunda kalmadan, fontlar için düşük seviyeli çizgilerin ve piksellerin çizilmesini içeren başka bir çözüm yok mu? –

+0

Neden yerleşik değil, ben onun yeni ve çok fazla test almamış çünkü onun libgdx parçası değil sanırım. Eminim yardımlarla ilgilenecekler ya da kullanışlılığı hakkında raporlar. OpenGL ilkellerini kullanan diğer çözümlere gelince, baktım ve hiçbir şey bulamadım (tabii ki bir negatif olduğunu kanıtlayamıyorum). Yine de çoğu insanı bir bitmap oluşturmanın optimizasyonu gibi görüyorum. –

0

Bunun için uygun bir yol olduğunu düşünmüyorum, çünkü libgdx openGL üzerinde de çalışıyor. OpenGL, görüntüleri görüntülemek için dokular kullanır, böylece cihazınız görüntü donanımını hızlandırabilir. Ben libgdx kullanmıyorum ama muhtemelen bir doku üzerinde vektör tabanlı yazı tiplerini çizmek için kendi fonksiyonunuzu yazabilir ve daha sonra ekranda doku çizebilirsiniz. - Ama sonra artık vectorized değil.

+0

kuyu, yazı tipini göstermek için hangi boyutta olduğunu bilen bir işlev çağırırsa, onu "doğru" şekilde göstermenin tam olarak aynısı olmaz mıydı? Tabii ki orada bir kütüphane var, öyle değil mi? –