सबसे पहले, TextureRegion बनाम TextureRegion: जब आप Texture t = new Texture (पाथ) जैसा कुछ करते हैं, तो आप GPU पर लोड कर रहे हैं। इसके अलावा, आपको 2 बनावट की शक्ति लोड करनी चाहिए। आप अन्य प्रस्तावों (Texture.setEnforcePotImages = false) के साथ काम कर सकते हैं, लेकिन इसे 2 के पाउ का उपयोग करने के लिए प्रोत्साहित किया जाता है।
अब, TextureRegion, एक Texture से "टुकड़ा" लेता है, कोई फर्क नहीं पड़ता कि यह आयाम है। एक बनावट और उस बनावट के कई TextureRegion होने का लाभ यह है कि आप हर क्षेत्र को GPU में लोड नहीं कर रहे हैं।
जैसा कि आप सोच रहे होंगे, जब आप स्प्राइटबैच के साथ आकर्षित करना चाहते हैं, तो कई बनावट के बजाय टेक्सचररेजियन का उपयोग करना अधिक कुशल है, मुझे खेद है कि मेरी अंग्रेजी पर्याप्त नहीं है। यहाँ एक अच्छी व्याख्या है: बनावट बनावट और स्प्राइटबैच
अब, आप सभी स्प्रिटशीट और छवियों के साथ TextureRegion और 2 संकल्प की शक्ति में एक एकल छवि का उपयोग करना चाहते हैं। क्या आपको सभी निर्देशांक और आयामों के साथ TextureRegions बनाना है? क्या आपको पिक्सल्स गिनने के लिए पेंट खोलने की जरूरत है? Noooo, तुम नहीं। आप TexturePacker जैसी किसी चीज़ का उपयोग कर सकते हैं । यह हर बनावट को एक चित्र में पैक करेगा और उन सभी के निर्देशांक और निर्देशांक के साथ एक .pack फ़ाइल बनाएगा।
परिणाम कुछ इस तरह होगा:
एक बनावट बनाने के बजाय, एक TextureAtlas बनाएं, जैसे:
अब, आपके TextRegions को बनाना उतना ही सरल होगा:
(ध्यान दें कि क्षेत्र का नाम विस्तार के बिना मूल छवि का नाम है)।
स्प्राइट बैच, का उपयोग कर 2 डी स्प्राइट ड्राइंग के लिए ज्यामिति, रंग और बनावट की जानकारी रखता है। इसका मतलब है, आप आसानी से उन्हें घुमा सकते हैं और स्थानांतरित कर सकते हैं। मैंने अपना स्वयं का इकाई वर्ग बनाया है, और मुझे स्प्राइट वर्ग की आवश्यकता नहीं है। आप शायद ऐसा ही करेंगे। मुझे यह वर्ग वास्तव में उपयोगी नहीं लगा।
छवि वर्ग अभिनेता से विरासत में मिला है। इसका मतलब है कि आप इसे एक मंच में जोड़ सकते हैं। यह Scene2D पैकेज का हिस्सा है। यदि आप libgdx के लिए नए हैं, और आप इस पैकेज के बारे में नहीं जानते हैं, तो यह इस वर्ग के बारे में आपके लिए पर्याप्त जानकारी है। यह वास्तव में एक दिलचस्प विषय है, लेकिन इस सवाल का जवाब नहीं है।
आशा है ये मदद करेगा :)