2011-06-21 18 views
5

Benim rpg için kaydet/yükle oyun fonksiyonları yapmam gerekiyor. Player'ımın yerini kaydedebilirim ama istediğim şey ekranın tamamını vba ve snes9x gibi emülatörlerde olduğu gibi bir noktada dondurmak. Ya da belki de oyunu kurtaracağım ve tekrar başlayabileceğim yerleri saklamak için. Bana bu şeyleri nasıl yaptığını söyleyen var mı? herhangi bir kod bile teori tabanlı pseudocode karşıladı.Pygame'de oyun işlevlerini nasıl kaydeder/yüklersiniz?

cevap

11

Python verilerini serileştirmek için pickle'u kullanabilirsiniz. Bunun pygame ile ilgisi yok.

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

yük için: Oyun devlet tamamen nesne foo, "savegame" dosyasına kaydetmek için (import pickle ilk) saklanır eğer

Yani

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

oyun durumudur Oyunu geri yüklemek için gereken tüm gerekli bilgiler, yani oyun dünyası durumu, herhangi bir UI durumu, vb. Oyun durumunuz, bunları oluşturan tek bir nesne olmadan birden fazla nesneye yayılmışsa, bir listeyi kolayca yapabilirsiniz tüm gerekli nesnelerle.

+0

Teşekkürler! Kaydetme/yükleme işlevlerini olduğu gibi yapmak!^_ ^ – ApprenticeHacker