मैं PyGame में 2d साइडक्रॉलर पर काम कर रहा हूं। प्रत्येक नक्शे के लिए हम एक बनावट का उपयोग करते हैं (यह बनावट का वास्तविक आकार है):
फिर हम इस कोड के साथ छवि लोड करते हैं:
sprite = pygame.image.load("Maps/MapTesting.png")
sprite.convert()
sprite = pygame.transform.scale(sprite,
(sprite.get_width()*6, sprite.get_height()*6))
जैसा कि आप देख सकते हैं, वास्तविक मानचित्र बनावट बनाने के लिए बनावट 6 बार फूल जाती है। औसतन यह बनावट लगभग 4500x800 है। इस बनावट को स्क्रीन पर हर फ्रेम पर ब्लिंच करना होता है , क्योंकि पूरी स्क्रीन गंदी होती है (साइड स्क्रॉलिंग के लिए धन्यवाद)। हम इस कोड का उपयोग करते हैं:
screen.blit(sprite, (0, 0),
(cameraposx, cameraposy, windowheight, windowwidth))
और यह काम करता है। समस्या यह है कि यह काफी धीमा है: मुझे कम-सभ्य पीसी पर 40 एमपीएस का अल्पांश मिलता है, और यह वास्तविक एआई / वस्तुओं के बिना चल रहा है, जबकि हम 60 एफपीएस के लिए लक्ष्य कर रहे हैं। हम इसे कैसे गति दे सकते हैं?
ध्यान दें कि उपरोक्त कोड को स्वच्छता और संदर्भ से बाहर ले जाया गया है। पूर्ण कोड यहां पाया जा सकता है: https://github.com/nightcracker/PyGG2
और अंतिम लेकिन कम से कम नहीं, जबकि ऊपर की छवि 8-बिट की तरह दिख सकती है, खेल में ऐसे तत्व हैं जिनके लिए अधिक बिट-डेप्थ की आवश्यकता होती है।