2011-07-20 15 views
9

सुबह एक Texture2D पर रंग सब (यदि वह सुबह आप कहीं भी हों)XNA ड्रा/क्रम

मैं चारों ओर देख कर दिया गया है और करने के लिए एक संतोषजनक विधि यह इतना सोचा कि मैं चारों ओर पूछना होगा नहीं देखा है ...

आदर्श दुनिया मैं एक पारदर्शी Texture2D ऑब्जेक्ट उत्पन्न करने में सक्षम होना चाहता हूं। इसे स्क्रीन पर खींचना मैं इसे "पेंट" करने में सक्षम होना चाहता हूं, यानी जब बाएं माउस बटन नीचे होता है तो कर्सर खत्म हो जाने वाले पिक्सेल को काला पर सेट किया जाना चाहिए। इसके बाद मुझे इस बनावट का उपयोग करने में सक्षम होना चाहिए।

बनावट का उपयोग करना आसान हिस्सा है, हम केवल "चित्रकला" ऑब्जेक्ट के लिए एक नया बनावट 2 डी विशेषता बना सकते हैं और स्प्राइटबैच.ड्रा विधि में इसका उपयोग कर सकते हैं। दो मुश्किल भाग

  1. कोड में पारदर्शिता से भरे हुए निर्दिष्ट आकार के बनावट 2 डी ऑब्जेक्ट उत्पन्न करना।
  2. संपादन कि मक्खी पर texture2D (अर्थात पिक्सेल रंग को बदलने के लिए सक्षम किया जा रहा)

अगर कोई इनपुट बहुत सराहना की जाएगी इन आप में से किसी का अनुभव है।

उत्तर

12

आप एक RenderTarget2D (MSDN) उपयोग कर सकते हैं, जो अपने आप एक Texture2D (ताकि आप SpriteBatch.Draw में उपयोग कर सकते हैं)। यह आपको स्क्रीन पर प्रस्तुत करने के तरीके में एक बनावट पर प्रस्तुत करने की अनुमति देता है। इसे सेट अप करने के लिए आपको GraphicsDevice.SetRenderTarget (MSDN) का उपयोग करने की आवश्यकता है।

या आप Texture2D.SetData (MSDN) का उपयोग सीधे पिक्सल में हेरफेर करने के लिए कर सकते हैं। आप एक पारदर्शी Texture2D सीधे (MSDN) बना सकते हैं। अपने द्वारा बनाए गए किसी भी बनावट या अन्य संसाधनों के Dispose को न भूलें!

+1

शानदार, धन्यवाद एंड्रयू आप सहायक प्रतिक्रिया वास्तव में सराहना की है! मैं वीएस को बूट करता हूं और जैसे ही मुझे मौका मिलता है, बीमार रिपोर्ट वापस आती है, उम्मीद है कि इस सवाल पर चलने वाले किसी और के लिए कुछ नमूना कोड के साथ। – Nick

+0

यदि आपको कोई फर्क नहीं पड़ता है, तो मैं इस प्रश्न पर बहुत सावधानीपूर्वक चल रहा हूं – annonymously

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