android दो चरणों के साथ Libgdx Hud



stage (1)

मेरे पास एक ऐसा ऐप है जो वर्तमान में एक ही चरण में काम कर रहा है, लेकिन मुझे एचडी के रूप में एक साइड डिस्प्ले / सेक्शन जोड़ना होगा, इसके साथ स्कोर / लाइफ आदि, ताकि एचयूडी बाईं ओर हो, और दाएं हाथ की मुख्य स्क्रीन । मुख्य गेम स्क्रीन तय हो जाएगी और चारों ओर नहीं जाएंगे।

शोध से मैंने कुछ समाधान पाया है I

1 - दो चरण 2 - एक समूह जिसमें दो समूह हैं, संभवतया क्षैतिज समूह 3 - दो कैमरों का एक चरण 4 - एक चरण, एक कैमरा, लेकिन अभिनेताओं के प्रत्येक सेट के लिए कैमरे की स्थिति को बदलते हुए।

मुझे लगता है, विकल्प 1 मेरी प्राथमिकता है, लेकिन मेरे पास कुछ प्रश्न हैं

  • क्या चरण हमेशा पूरी स्क्रीन को भरते हैं, या फिर मैं कहां शुरू कर सकता हूँ? यह दाहिने हाथ की स्क्रीन के लिए उस स्क्रीन के 0,0 के आधार पर पदों की गणना करना आसान बनाता है, बजाय हमेशा किसी गणना पर एचयूडी की चौड़ाई जोड़ने की बजाय।
  • क्या मुझे व्यूपोर्ट के बारे में काम करने की आवश्यकता है? वर्तमान में मैं एक का उपयोग नहीं कर रहा हूँ (जो मुझे लगता है कि इसका मतलब है कि मेरा चरण डिफ़ॉल्ट रूप से स्केलिंग पर है) लेकिन इसके परिणामस्वरूप कुछ भी नहीं लगता है। मुझे व्यूपोर्ट्स के बारे में अधिक जानकारी नहीं है, लेकिन हमेशा उनके साथ एक समझौता हो रहा है, यानी काली सलाखों के ऊपर या पक्ष
  • अगर मेरे पास दो चरण हैं, तो क्या उनके पास अपना कैमरा है? इसके बारे में मुझे क्या चाहिए? क्या मैं संभवतः एक ऑफसेट पर दाहिने हाथ कैमरा का लक्ष्य कर सकता हूं, इसलिए मैं अभी भी 0,0 से चीजें खींच सकता हूं, जो सही स्टेज के निचले बाएं कोने में है, पूरी स्क्रीन नहीं है?

अंत में, विषय बंद, मैं थोड़ा स्प्रीटबैच के बारे में भ्रमित हूँ। मैं वर्तमान में एक का उपयोग नहीं कर रहा हूँ, क्योंकि मैं एक मंच का उपयोग करता हूं क्या यह ठीक है, या क्या मैं अभी भी एक मंच के साथ संयोजन में किसी तरह का उपयोग कर रहा हूं? और मेरे सभी कलाकारों को उसमें जोड़ें?


यह मैं सही ढंग से समझता हूं, आप अपने गेम की दुनिया के लिए दृश्य 2 डी का उपयोग कर रहे हैं और आपके एचयूडी के लिए भी। और एचयूडी खेल की दुनिया को ओवरले नहीं करता है, बल्कि स्क्रीन के अपने स्वयं के हिस्से का विशेष रूप से उपयोग करता है

चरण पूरी तरह से पूरी स्क्रीन को नहीं भरते हैं उनके पास कुछ भी भरने या न भरने की कोई अवधारणा नहीं है, क्योंकि उन्हें ऐसी चीजें मिल सकती हैं जिन्हें स्क्रीन से खींचा जा रहा है। हालांकि, वे उनके व्यूपोर्ट द्वारा परिभाषित आयत पर काटा रहे हैं।

आपके मामले में, ऐसा लगता है कि आपको दो व्यूपोर्ट की आवश्यकता है, और इसलिए, दो चरणों आप कहते हैं कि आप एक व्यूपोर्ट का उपयोग नहीं कर रहे हैं, लेकिन आप ... स्टेज स्वचालित रूप से अपने स्वयं के स्केलिंगव्यूपोर्ट बनाता है जो स्ट्रेच व्ह्यूपोर्ट की तरह सेट है (स्केलिंग वीवपोर्ट का उल्लेख दस्तावेज़ में नहीं है, जो पुराना है।) स्ट्रेच वियपोर्ट आमतौर पर खराब है क्योंकि आपका गेम डिवाइस के पहलू अनुपात को फिट करने के लिए विकृत हो जाएगा।

विस्तारित करेंइसेपोर्ट्स काली सलाखों का कारण नहीं है, जब तक आप उन पर अधिकतम चौड़ाई / ऊंचाई निर्धारित नहीं करते हैं और मुझे लगता है कि आमतौर पर किसी भी गेम विश्व दृश्य के लिए सबसे अच्छा विकल्प है

आप स्क्रीन के विशिष्ट हिस्सों को कवर करने के लिए अपने दो व्यूपोर्ट सेट कर सकते हैं जो कि आप स्वयं की गणना करते हैं चूंकि यह एक विशिष्ट मामला है, मुझे लगता है कि आपको सीधे व्यूपोर्ट वर्ग (इसके उप-वर्गों में से एक नहीं) को छोड़ना होगा और viewport.setScreenBounds(...) का उपयोग करके उनमें से प्रत्येक को हेरफेर करना होगा।

आपके अंतिम प्रश्न के संबंध में: हाँ, दो चरणों में से प्रत्येक का अपना व्यूपोर्ट होता है, और प्रत्येक व्यूपोर्ट का अपना कैमरा होता है। एक बार जब आप अपने प्रत्येक दो व्यूोर्ट को स्क्रीन के अपने हिस्से में सेट करते हैं, तो आप उन्हें 0,0 के रूप में उनके संबंधित निचले बाएं कोने के इलाज के लिए सेट कर सकते हैं।





hud