2011-06-21 20 views
5

मुझे अपने आरपीजी के लिए गेम लोड/लोड करने की ज़रूरत है। मैं अपने प्लेयर के स्थान को सहेज सकता हूं, लेकिन मैं जो चाहता हूं वह पूरी स्क्रीन को एक बिंदु पर फ्रीज करना है जैसे यह वीबीए और एसएनएस 9एक्स जैसे अनुकरणकर्ताओं में किया जाता है। या शायद उन स्थानों को सहेजने के लिए जहां मैं खेल को बचा सकता हूं और फिर से शुरू कर सकता हूं। क्या कोई मुझे बता सकता है कि आप इन चीजों को कैसे करते हैं? किसी भी कोड का स्वागत है सिद्धांत-आधारित छद्म कोड भी।pygame में सहेजने/लोड गेम फ़ंक्शंस कैसे बनाएं?

उत्तर

11

आप पाइथन डेटा को क्रमबद्ध करने के लिए pickle का उपयोग कर सकते हैं। इसका पेगमेम से कोई लेना देना नहीं है।

इसलिए यदि आपके खेल राज्य पूरी तरह से वस्तु foo, "savegame" फ़ाइल को बचाने के लिए (import pickle पहले) में संग्रहीत किया जाता है:

with open("savegame", "wb") as f: 
    pickle.dump(foo, f) 

लोड करने के लिए:

with open("savegame", "rb") as f: 
    foo = pickle.load(f) 

खेल राज्य है गेम को पुनर्स्थापित करने के लिए आपको आवश्यक सभी आवश्यक जानकारी, यानी, गेम वर्ल्ड स्टेटस के साथ-साथ यूआई स्टेट इत्यादि। यदि आपका गेम स्टेटस कई ऑब्जेक्ट्स में फैला हुआ है, तो कोई भी ऑब्जेक्ट जो उन्हें लिखता है, आप बस एक सूची चुन सकते हैं सभी आवश्यक वस्तुओं के साथ।

+0

धन्यवाद! इसे बचाने/लोड कार्यों को बनाना!^_ ^ – ApprenticeHacker

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