2009-11-22 15 views
6

मैं ऐसे गेम पर काम कर रहा हूं जहां मेरे चरित्र को विभिन्न हथियार रखने में सक्षम होना चाहिए। इसके लिए मुझे लगता है कि किसी भी तरह चलती हुई स्प्राइट पर हथियार को ओवरले करना सही विकल्प होगा, लेकिन मुझे यकीन नहीं है कि मैं यह कैसे कर सकता हूं।ओवरले 2 डी हथियार चरित्र sprite पर sprite?

मेरे चरित्र spritesheet मान लिया जाये कि इस तरह दिखता है:

Player SpriteSheet http://i47.tinypic.com/2qxw9ds.jpg

और मेरे preliminar हथियार spritesheet (अभी तक हथियार के लिए एक निश्चित वर्ग के आकार पर निर्णय नहीं लिया है), इस तरह दिखता है:

Weapon SpriteSheet http://i47.tinypic.com/vgltfs.jpg

आप अपने प्रत्येक फ्रेम के लिए चरित्र हाथ पर सही ढंग से हथियार सेट करने के लिए ओवरले कैसे बनाएंगे? मुझे पता है कि एक तरह से एक हथियार फ्रेम मेरे चरित्र के समान आकार के समान होगा, और उनको ओवरले करें, लेकिन मुझे लगता है कि अगर गेम में बहुत अधिक हथियार हैं (15 अलग-अलग प्रकार के हाथों के ढेर कहते हैं) बहुत पागल हो जाओ (प्रत्येक हथियार के लिए चरित्र स्प्राइट शीट के रूप में एक हथियार स्प्राइट शीट के समान आकार)

क्या आपके पास लोगों को यह लागू करने के बारे में कोई सलाह है? (चरित्र sprites पर हथियार sprites overlaying समर्थन)

धन्यवाद!

उत्तर

9

एंकर पॉइंट। अपने खिलाड़ी स्प्राइट के ग्राफिक्स के प्रत्येक फ्रेम में हथियार ग्राफिक्स के लिए एंकर पॉइंट को परिभाषित करें। फिर अपने हथियारों के स्प्राइट्स में एंकर पॉइंट को परिभाषित करें जो आपके खिलाड़ी स्प्राइट में हथियार एंकर पॉइंट से मेल खाते हैं। सुनिश्चित करें कि एनीमेशन फ्रेम खिलाड़ी/हथियार sprites के बीच सिंक हो रहे हैं।

+2

मैं करूंगा ध्यान दें कि यह मूल रूप से एक ही तरह से हम 3 डी में कर :) नाम हड्डियों से जुड़ी जा सकता है और एनीमेशन के माध्यम से ले जाया गया है पसंद है। –

5

जब मैं उस एक मंच शूटिंग खेल के लिए, हम लंगर अंक (leeor_net विवरण देखें) था, और

मेरे तकनीक एक तरीका है कि मैं बारी बारी से कर सकता है, या फ्रेम कि चारों ओर roatated का उपयोग में स्प्राइट बनाने शामिल किया हथियार के मामले में एकल एंकर बिंदु, और चरित्र हाथ एक ज्ञात त्रिज्या के साथ एक चाप में चले गए। नतीजा यह है कि हम केवल स्थिति (कोस (कोण) * त्रिज्या, पाप (कोण) * त्रिज्या पर होने के लिए हथियार से पूछ सकते हैं; कोण के संभावित कोणों में से एक है जिसमें हमारे पास एनीमेशन है (जैसे, 0, आगे के लिए, ऊपर की ओर 90, और आगे विकर्ण के लिए 45 ... यदि हमारे पास केवल इन 3 पद थे)। और चरित्र त्रिज्या तक सर्कल के केंद्र से पिक्सेल में "त्रिज्या" त्रिज्या होता है।

पोजीशनिंग की यह गणितीय तकनीक, आपको एंकर पॉइंट्स का उपयोग करके हथियार को "ऑफसेट" करने या कोड पर मूल्य को मैन्युअल रूप से एकत्र करने की अनुमति देती है ... तो आप त्रुटियों को "ठीक" कर सकते हैं (जैसे, कोई संपादित हथियार और इसे 3 पिक्सेल नीचे दुर्घटनाग्रस्त कर दिया ... आप बस y3 पर योग कर सकते हैं या इसके एंकर को स्थानांतरित कर सकते हैं ...)।

मेरे खेल में, इरादा, और परिणाम (तकनीक ने निर्दोष काम किया), यह है कि चरित्र ने माउस कर्सर पर बंदूक की ओर इशारा किया, इसलिए मैं स्क्रीन पर कहीं भी शूट कर सकता था। एक चिकनी एनीमेशन देने के लिए, हमारे पास प्रत्येक 10 डिग्री (इस प्रकार 36 फ्रेम) फ्रेम था। आप खेल के बजाय पिक्सेल कला है, तो उपयोग कोण है कि कम दांतेदार लाइनों कोण दे (45 की तरह, और अधिक या कम 22.5, 90, 0 ...), आप आमतौर पर अप करने के लिए 16 दिशाओं हो सकता है जब आप "कम दांतेदार लाइनों" चाहते हैं । (एक पिक्सेल कला है कि के लिए कारण देखने के लिए ट्यूटोरियल देखते हैं, लेकिन मूल रूप से, लाइन बना रही है कुल्हाड़ी/y अनुपात एक पूर्णांक है कि, यह प्रतिनिधित्व करने के लिए विरोधी उर्फ ​​बिना नियमित पिक्सेल रिक्ति की इजाजत दी ... है)

संबंधित मुद्दे