java - How can I map a custom image to a polygon in a game? -
इस सवाल का पहले से ही एक उत्तर है: < / p>
- 2 जवाब
मैं मूल रूप से कोशिश कर रहा हूँ जावा में रीमेक क्षुद्रग्रह, लेकिन मैं एक गंजे ईगल को एक जहाज के रूप में उपयोग करने जा रहा हूं जो सोवियत ध्वज को गोली मारता है। अभी, मेरे गंजा ईगल छवि ईगल के चारों ओर एक सफेद रूपरेखा के साथ एक वर्ग है। मैं इसे निकालना चाहूंगा, क्या यह किसी एक प्रकार की एक बहुभुज को एक-एक-एक फैशन में मैप करने का कोई तरीका है?
यहां मेरा कोड है, हालांकि मुझे नहीं पता कि यह कैसे मदद करेगा कुछ भी:
पब्लिक क्लास मेन {/ ** * @ परम कमांड लाइन तर्क * / सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग [] आर्ग्स) IOException फेंकता है {गेमटास्ट टी = नया गेमटेस्ट (); } सार्वजनिक स्टेटिक क्लास गेमटेस्ट JFrame का विस्तार करती है {निजी स्थिर अंतिम पूर्ण WINDOW_WIDTH = 800; निजी स्थिर अंतिम अंत WINDOW_HEIGHT = 500; निजी गेमपैनेल गेमपैनेल; सार्वजनिक गेमटेस्ट () IOException {सुपर ("दीप फ्रीड फ्रीडम") फेंकता है; setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); setSize (WINDOW_WIDTH, WINDOW_HEIGHT); सेट लेआउट (नया बॉर्डर लेआउट ()); गेमपैनेल = नया गेमपैनेल (); जोड़ने (GamePanel); केंद्र (this); setVisible (सही); } सार्वजनिक स्थैतिक शून्य केंद्र (जेफ्राम फ्रेम) {ग्राफिक्स पर्यावरण जीई = ग्राफिक्स पर्यावरण.टालोकल ग्राफिक्स पर्यावरण (); बिंदु केंद्र = ge.getCenterPoint (); int w = frame.getWidth (); Int h = frame.getHeight (); int x = center.x - w / 2, y = center.y - h / 2; फ्रेम। सेटबाउंड (एक्स, वाई, डब्ल्यू, एच); frame.validate (); } // केंद्र विधि के अंत}} सार्वजनिक वर्ग गेमपैनेल JPanel {सार्वजनिक स्थैतिक BufferedImage baldEagleImage; सार्वजनिक गेमपैनेल () IOException फेंकता {सुपर (); BaldEagleImage = ImageIO.read (नई फ़ाइल ("baldeagleimage.jpg")); } @ ओवरराइड संरक्षित शून्य पेंटकंपनेन्ट (ग्राफ़िक्स जी) {सुपरपिंटकंपोनेंट (जी); g.setColor (Color.black); // सेट रंग काला g.fillRect (0, 0, getWidth (), getHeight ()); // रंग की पृष्ठभूमि g.drawImage (baldEagleImage, 350, 175, null); // लांचर रंग) // एंड पेंट कम्पेनेन्ट विधि} // एंड गेमपोनेल वर्ग
< div class = "post-text" itemprop = "text">
आपके कई तरीके हैं कि आप इस प्रभाव को प्राप्त कर सकते हैं तुम्हारा सबसे अच्छा शर्त आपकी छवि के अल्फा चैनल का उपयोग करना होगा। सिर्फ एक छवि संपादन उपकरण जैसे कि जिम्प के रूप में अपनी छवि खोलें इस सेट में आपकी छवि की पृष्ठभूमि आपकी छवि के पार पारदर्शी है।
एक अन्य विकल्प (जो सबसे अच्छा नहीं है) लेकिन आपका अनुरोध पूरा करने के लिए जावा 2 डी में एक पेंट स्ट्रोक का उपयोग करना है Java2d क्लिपिंग सुविधा का उपयोग करने पर एक नज़र डालें। आप इस पर एक ट्यूटोरियल प्राप्त कर सकते हैं
Comments
Post a Comment