मैं वर्तमान में एक छोटी वास्तविक समय रणनीति 2 डी इंजन का निर्माण कर रहा हूं। और मुझे आश्चर्य है कि कितने सदाबहार sprites को संभालने के लिए अंततः मेरी स्क्रीन क्लियर करेगा।क्यूटी: QGraphicsItems को कुशलतापूर्वक संभालते हैं जिनमें "बहुत सारे पिक्समैप्स" हैं? (आरटीएस)
एफवाईआई, मैं एएए स्तर पर कुछ भी लक्ष्य नहीं रख रहा हूं, मैं बस कुछ मशीन सीखने के तरीकों को लागू करने की कोशिश कर रहा हूं। इस प्रकार, मैंने वॉरक्राफ्ट द्वितीय छोड़ने वाले आईएसओ को चुना है, कुछ ग्राफिक्स को लापरवाही से लिया है, और मैंने पहले मुद्दों पर झुका दिया है।
http://img263.imageshack.us/img263/1480/footman.png
आप ऊपर देख सकते हैं, यहां तक कि Warcraft द्वितीय के सरल पैदल चलनेवाला अपने एनीमेशन के लिए लगभग 50 स्प्राइट मिल गया है। जो बहुत है और यह अक्सर sprites बदल जाएगा। (ब्लैक लाइन सिर्फ यह जांच रही थी कि मेरा अल्फा चैनल सही था या नहीं)
इस प्रकार, अंतिम प्रश्न: मैं कुशलतापूर्वक एक QGraphicsObject को कैसे कार्यान्वित करता हूं जो बदलता रहता है? मैं एक QGraphicsItem को कुशलतापूर्वक कार्यान्वित कैसे करूं जो बार-बार अपनी उपस्थिति को बदल देता है?
क्या मैं बस Q12raphicsPixmapItem की paint()
विधि को अधिभारित करता हूं और स्क्रीन पर उपयोग किए गए पिक्समैप को बदलता रहता हूं? क्या यह कुछ "stuttering" का कारण बन जाएगा? मैंने सुना है कि कभी-कभी, सभी पिक्समैप्स बनाने के लिए बुद्धिमान/संभव है, उन सभी को छुपाएं, और आवश्यकता होने पर उन्हें डुप्लिकेट करें। (कॉपी अन्य परिचालनों की तुलना में कम महंगी है) क्या कोई अन्य बुद्धिमान विचार है?
किसी भी इनपुट के लिए धन्यवाद! (आरटीएस इंजन, जटिलता सामान, आदि ट्यूटोरियल ...)
मैं सुझाव दूंगा कि क्यूटी का उपयोग करना सबसे अच्छी लाइब्रेरी नहीं है जिसे आप एक गेम विकसित करने के लिए चुन सकते हैं। क्या आपने कुछ अन्य विकल्पों की खोज की है? यह माना जाता है कि क्यूटी आपके लिए बहुत कम है, जैसे क्लिपिंग, स्प्राइट्स के आसान परिवर्तन, इत्यादि, लेकिन यह भी बहुत सारी चीजें करता है जो आपको वास्तव में एक ही समय में नहीं चाहिए ... मुझे थोड़ी सी गुगलिंग के बाद मिला है यह: http://www.libsdl.org/ जो आपकी आवश्यकताओं को qgraphics सामग्री – Tom
@Tom से बेहतर तरीके से पूरा कर सकता है: इनपुट के लिए धन्यवाद, वास्तव में, एसडीएल वास्तव में 2 डी अनुप्रयोगों के लिए एक उत्कृष्ट सी लाइब्रेरी है। हालांकि, और आप सही हैं क्योंकि मैंने इसे नहीं बताया है, मैं मशीन लर्निंग और आरटीएस आर्किटेक्चर में खुद को विकसित करने की तुलना में अधिक रुचि रखता हूं। आप मेरे प्रश्न को दोबारा सुधार सकते हैं: अच्छे पुस्तकालय कितने sprites के साथ एक वस्तु को संभालते हैं? (और इस प्रकार, मैं इसे क्यूटी के साथ कैसे कार्यान्वित कर सकता हूं, जो इस परियोजना के लिए पूरी तरह से आवश्यक पुस्तकालय है) – Fezvez
यदि आप अपना व्यूपोर्ट QGLWidget पर सेट करते हैं और मैन्युअल रूप से पिक्चर() पिक्समैप्स सेट करते हैं जिन्हें आपने पहले से ही स्मृति में कैश किया है, तो आपको ठीक होना चाहिए प्रदर्शन के अनुसार। – Chris