2012-09-12 19 views
11

assetmanager libgdx का उपयोग कर यह कैसे एक ठीक से एक AssetManager में एक बनावट लोड करता है बनावट लोड करने के लिए?कैसे ठीक से

Texture tex; 
AssetManager manager = new AssetManager(); 
manager.load("menu/bg.png",Texture.class); 
tex = manager.get("menu/bg.png",Texture.class); 

बनावट "बनावट मेनू/bg.png लोड नहीं कर सकता" त्रुटि के साथ लोड करने के लिए विफल रहता है।

हम अपने बनावट AssetManager का उपयोग करना कैसे लोड करना चाहिए?

उत्तर

20

यह लगभग कैसे AssetManager इस्तेमाल किया जाना चाहिए है, लेकिन पूरी तरह से नहीं। मैं libgdx AssetManager के बारे में विकी पर पढ़ने की सलाह देता हूं।

कुछ अंक:
चर CamelCase में होना चाहिए, ताकि AssetManager प्रबंधक ... AssetManager प्रबंधक के बजाय।

आप manager.update() को कॉल करना होगा; वास्तव में इसे सामान लोड करने के लिए। इसे manager.update() तक कॉल करने की आवश्यकता होगी; सच हो जाता है, तो यह लोड हो रहा है। तो आप एक लोडिंग स्क्रीन बना सकते हैं जहां आप manager.update(); प्रत्येक फ्रेम को कॉल करते हैं, और जब यह सत्य हो जाता है तो आप किसी अन्य स्क्रीन पर स्विच करते हैं।
यदि आप बस सबकुछ लोड करना चाहते हैं, और इसे लोड होने तक अवरुद्ध करें, तो प्रबंधक से कुछ भी प्राप्त करने का प्रयास करने से पहले manager.finishLoading(); पर कॉल करें।

आपको assets फ़ोल्डर में data नामक फ़ोल्डर बनाना होगा और उन्हें अपनी संपत्तियों को सीधे संपत्ति फ़ोल्डर में डालने की बजाय वहां रखना होगा। तो mygame-android\assets के बजाय अपनी संपत्ति mygame-android\assets\data में रखें।

आप अपने प्रोजेक्ट बनाने के लिए GDX सेटअप-जीयूआई का उपयोग कर रहे हैं, तो आप ठीक होना चाहिए। लेकिन यदि नहीं, तो आपके डेस्कटॉप प्रोजेक्ट को यह जानना होगा कि संपत्तियों को कहां मिलना है।

कैसे एक animated, responsive loading screen with libgdx बनाने के लिए पर एक उदाहरण। (video)

+0

मैं उपरोक्त जैसा ही कर रहा हूं, मैंने आपका वीडियो देखा है लेकिन इस बिंदु पर मैं सिर्फ पृष्ठभूमि प्रबंधक के रूप में एक पीएनजी या जेपीजी जोड़ने के लिए एसेट मैनेजर का उपयोग करना चाहता हूं। मेरा कोड वही है लेकिन मैंने समाप्त लोडिंग जोड़ा है। और इसे मंच पर जोड़ने की कोशिश की लेकिन यह एक अभिनेता नहीं है इसलिए मैं इसे मंच पर नहीं जोड़ सकता। manager.load ("संपत्ति/डेटा/badlogic.jpg", Texture.class); \t \t प्रबंधक.फिनिश लोडिंग(); \t \t बीजी = manager.get ("संपत्ति/डेटा/badlogic.jpg", Texture.class); \t \t चरण .addActor (बीजी); – user629283

+0

एनबी: संपत्तियों के नीचे कोई भी निर्देशिका करेगा। – RichieHH

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