libgdx

2012-03-12 15 views
14

में विभिन्न आकारों के साथ एक ही फ़ॉन्ट का उपयोग करके मैं अपने ग्रंथों के लिए बिटमैपफ़ोंट, लेबल स्टाइल और लेबल का उपयोग कर रहा हूं।libgdx

मैं कुछ लेबल का आकार परिवर्तन करना चाहते हैं, तो मैं इस का उपयोग करें:

fontType.scale(-.6f); 

LabelStyle style = new LabelStyle(fontType, Color.WHITE); 

titleLabel = new Label("Points", style); 
titleLabel.setColor(Color.RED); 
titleLabel.x = 260; 
titleLabel.y = 310; 

लेकिन जब मैं किसी अन्य लेबल का आकार परिवर्तन करना चाहते हैं, वह सब फ़ॉन्ट आकार बदलने वाले लेबल (मैं एक नया LabelStyle बनाएँ)। तो मैं फ़ॉन्ट के बजाय लेबल का आकार बदलता हूं, लेकिन इससे समस्या हल नहीं होती है, क्योंकि यह लेबल का आकार बदलता नहीं है, कोई विचार?

उत्तर

14

यदि आप उन्हें स्वतंत्र रूप से स्केल करना चाहते हैं तो आपको प्रत्येक लेबल (या लेबल के समूह) के लिए अलग बिटमैपफ़ोंट और लेबल स्टाइल बनाना होगा।

libgdx स्रोत कोड की जांच से, Label लेबलस्टाइल से बिटमैपफ़ॉन्ट के संदर्भ का उपयोग करता है और इसे BitmapFontCache आंतरिक रूप से उपयोग करता है; किसी भी बिंदु पर कोई गहरी प्रतिलिपि नहीं बनाई जाती है, इसलिए वे सभी उसी बिटमैपफॉन्ट का उपयोग कर रहे हैं जिसके साथ आपने लेबल स्टाइल बनाया है।

+0

मुझे लगता है कि यह सबसे अच्छा विकल्प होगा:/हालांकि यह bitmapfonts u.u धन्यवाद बनाने में बहुत समय लगता है :) –

+0

एक शर्म की बात है कि लेबल.सेटस्केल() बेकार है। मुझे यह भी लगता है कि यह सबसे अच्छा समाधान है, हालांकि यह बदसूरत है। साझा करने के लिए धन्यवाद। – Don

13

मैं libgdx 0.9.8 का उपयोग कर रहा है (क्योंकि यह एक पुराने सवाल यह है), और जब मैं इस तरह के रूप में एक लेबल बनाया गया:

:

lblA = new Label("A", skinA); 

मैं के साथ केवल उस लेबल का फ़ॉन्ट आकार बदल सकते हैं

lblA.setFontScale(3); 

यह मेरे द्वारा बनाए गए अन्य लेबल को प्रभावित नहीं करता है। मैंने अपने कुछ लेबल फ़ॉन्ट स्केल (2) पर सेट किए हैं, और वे ठीक हैं ((3) द्वारा प्रभावित नहीं)। हालांकि, मुझे लगता है कि स्टाइल मेरे लेबल 'स्वतंत्र' के रूप में नहीं है। उन्हें अपना खुद का लेबल स्टाइल सौंपा जाना चाहिए, अन्यथा आपको वह व्यवहार मिलता है जो आप बता रहे हैं।

+0

libGDX 1.5.6 (यदि पहले नहीं था) के रूप में, 'setFontScale (float)' का प्रयोग व्यक्तिगत रूप से लेबल को प्रभावित करता है, भले ही वे समान 'लेबल स्टाइल' साझा करते हैं। –

+0

@JamesSkemp क्या सब कुछ स्केल करने के लिए वैश्विक सेटिंग की तरह कुछ है? सब कुछ एक फोन (अधिक पिक्सेल घनत्व) पर इतना छोटा खींचा जाता है, लेकिन इसका मतलब यह भी है कि मैं फ़ॉन्ट 2 या यहां तक ​​कि 3 गुना बड़ा और बनावट की जगह को सहेजने से दूर हो सकता हूं। – Madmenyo

+0

अच्छा सवाल @MennoGouw - मुझे डर है मुझे यकीन नहीं है :(अगर यह मैं था तो मुझे लगता है कि मैं सिर्फ कुछ प्रकार का वैश्विक कार्य या 'लेबल स्टाइल' बनाउंगा। –