windows phone - Xna 4.0 WP, SpriteBatch - Animation -


मेरे पास यह कोड है:

  सार्वजनिक वर्ग Game1: Microsoft.Xna.Framework.Game {स्प्राइटबैच spriteBatch; वेक्टर 2 एम = नया वेक्टर 2 (0, 0); बनावट 2 डी पोल्स्क; Int i = 1; संक्षेप के लिए // गेम क्लास बॉयलरप्लेट कोड स्निप किया गया सुरक्षित ओवरराइड शून्य लोड कंटेंट () {spriteBatch = नया स्प्राइटबैच (ग्राफिक्सडिवाइस); } सुरक्षित ओवरराइड शून्य ड्रा (गेमटाइम गेमटाइम) {polska = Content.Load & lt; Texture2D & gt; (i.ToString ()); GraphicsDevice.Clear (Color.CornflowerBlue); spriteBatch.Begin (); Spritebatch.Draw (polska, एम, नल, रंग। व्हाइट); spriteBatch.End (); अगर (मैं == 16 9) आई = 1; अन्य i ++; base.Draw (gameTime); }}  

समस्या यह है कि जब मैं इसे अपने फोन पर चलाता हूं, यह केवल 1 चित्र दिखाता है, और यह 16 9 विभिन्न छवियों को दिखाना चाहिए (उनका नाम [number] .png है )।

क्या गलत है?

आपके ड्रा विधि में उस अद्यतन के बाद से सामग्री> 30 बार प्रति सेकेंड में लोड हो रहा है, और एक बनावट को लोड करने में समय लगता है इसके बजाय, एक बार में LoadContent विधि (एक सरणी या उन्हें स्टोर करने के लिए सूची का उपयोग करके) में लोड करें और फिर ड्रा विधि:

  बनावट 2 डी [] पोल्स्का = नया बनावट 2 डी [16 9]; // बनावट का संरक्षित ओवरराइड शून्य लोड कंटेंट () {// एक नया स्प्राइटबैच बनाएं, जिसका उपयोग बनावट को आकर्षित करने के लिए किया जा सकता है । Spritebatch = नया स्प्राइटबैच (ग्राफिक्सडिवाइस); के लिए (इंट जम्मू = 0; जे एंड एलटी; 16 9; जे ++) पोल्स्का [जे] = कंटेंट। लोड और लेफ्टिनेंट; टेक्सचर 2 डी & gt; (जे.टीओस्ट्रिंग ()); // यहां सभी छवियों को लोड करें। TODO: इसका उपयोग करें। लोड करने के लिए सामग्री आपकी गेम की सामग्री यहां पर है) सुरक्षित ओवरराइड शून्य ड्रा (गेमटाइम गेमटाइम) {GraphicsDevice.Clear (Color.CornflowerBlue); spriteBatch.Begin (); Spritebatch.Draw (polska [i], मी, नल, रंग। सफेद); // वर्तमान (i) छवि स्प्रीट बैच। अंत (); अगर (मैं == 16 9) {i = 1; } और {i ++; } Base.Draw (गेमटाइम); }  

एचटीएच, एलएमके अगर कुछ भी स्पष्ट नहीं है।

नोट: जैसा कि @ स्टीवनहैनसेन ने बताया, आपको अपने बनावट का आकार बदलना चाहिए ताकि आप स्मृति से बाहर न जाए अवसाद।


Comments