2014-07-24 4 views
6

प्रदर्शित करने के साथ मुझे libgdx प्रदर्शित सिरिलिक के साथ निम्न समस्या है।libgdx Cyrillic

इस काम करता है:: मैं एक उदाहरण देता

System.out.println("абцдеф"); 

लेकिन यह कुछ भी नहीं पता चलता है:

field = new TextField("абцдеф", style); 

और सफलता के बिना की कोशिश की।

try { 
    mmm = new String(t.getBytes(), "UTF-8"); 
} catch (UnsupportedEncodingException e) { 
    // Will it ever be thrown? 
} 
field = new TextField(mmm, style); 

अगर किसी के पास कोई समाधान है तो मुझे खुशी होगी, कई लोग आभारी होंगे।

उत्तर

6

मुझे लगता है कि कुछ अतिरिक्त जानकारी हो सकती है जो गायब है। Aslong libgdx सभी प्रकार के टेक्स्ट प्रदर्शित करने के लिए बिटमैप-फोंट का उपयोग कर रहा है। (TextField scene2dui का एक हिस्सा है जो मुझे लगता है) डिफ़ॉल्ट बिटमैप-जनरेशन/डिफ़ॉल्ट-libgdx-font में केवल ASCII-code वर्ण और कुछ अतिरिक्त हो सकते हैं, लेकिन कोई साइरिलिक नहीं हो सकता है।

यही कारण है कि आपको अपने बिटमैपफॉन्ट में मैन्युअल रूप से साइरिलिक वर्ण प्रदान करना होगा ताकि वे उन्हें प्रदर्शित कर सकें। एक .ttf-एसेट से बाहर BitmapFonts पैदा करता है, तो आप उन्हें निर्धारित भी सिरिलिक वर्ण उत्पन्न कर सकते हैं के लिए अपेक्षाकृत नया libgdx-विस्तार: TrueType Fonts in libGDX

तो फिर तुम भी उन्हें अपने खेल/app में उपयोग करने के लिए सक्षम हो जाएगा aslong आप अपने टेक्स्टफिल्ड/scene2dui शैली के लिए नए जेनरेट किए गए फ़ॉन्ट को भी परिभाषित करते हैं: Libgdx Scene2d - Set actor (TextField) padding?

यहां libgdx-repo में कुछ परीक्षण भी हैं। अगर वहां गलतफहमी का मामला है तो देखें: https://github.com/libgdx/libgdx/blob/master/tests/gdx-tests/src/com/badlogic/gdx/tests/extensions/InternationalFontsTest.java मुझे उम्मीद है कि इससे मदद मिलती है! चीयर्स

+0

उत्तर के लिए धन्यवाद @TheWhiteLlama सहायक था। मुझे सही समाधान मत दो, लेकिन मुझे अच्छे विचार दिए। समस्या फ़ॉन्ट में थी। इस पल के लिए कम से कम एक फव्वारा उत्पन्न करने में विफल। यहां एक उदाहरण दिया गया है: 'फ्रीटाइपफॉन्ट जेनरेटर जनरेटर = नया फ्री टाइपफॉन्ट जेनरेटर (Gdx.files.internal ("font/ciril1.ttf")); BitmapFont font15 = generator.generateFont (11), ' यह मुझे त्रुटि देता है: सूत्र में अपवाद" LWJGL आवेदन "com.badlogic.gdx.utils.GdxRuntimeException: java.lang.NoSuchMethodError: com.badlogic.gdx .graphics.g2d.TextureAtlas.getRegions() Ljava/उपयोग/सूची; – Bigfoot

+0

मुझे सफलता मिली: 'बिटमैपफ़ॉन्ट फ़ॉन्ट = नया बिटमैपफ़ॉन्ट (Gdx.files.internal (" font/font.fnt "), Gdx.files.internal (" font/font.png "), झूठा); font.scale (-0.5f); ' – Bigfoot