shelve
現在、を使用するモジュールを使用して作成した小さな RPG に保存機能を実装することを検討していますpickle
。
pygame サーフェスをピクルできないことがわかった後、オブジェクト属性として代わりに辞書キーを渡すことを提案するアドバイスに従いました。ゲームの修正に何時間も費やし、すべてのサーフェスを体系的にチェックし、実際にスタート メニューを起動して実行すると、pygame クロック オブジェクトもシリアル化できないという新しいメッセージ エラーが表示されました。残念なことに、サーフェスとは異なり、必要なすべてのクロック (攻撃タイマー、アニメーション タイマー、AI タイマーなど) をすべて特定のオブジェクトに固有に使用するため、必要なすべてのクロックを事前に作成することはできません。つまり、すべてのスプライトに 1 つのアタック タイマーを設定する代わりに、それぞれに 1 つのアタック タイマーを設定して、柔軟性を高めています。さらに、クロックの数は作成するオブジェクトの数に依存し、この数はある程度ランダムです。私は本当にできる」
だから、私が実際に持っている質問を要約すると:
shelve
1)タイマーを pygameするにはどうすればよいですか?
2) それが不可能な場合、どの代替手段をお勧めしますか?
3) この保存機能の実装にこれ以上時間を費やす前に、シリアル化できない他の pygame オブジェクト、またはこの情報をどこで見つけることができますか?
私は多くの質問をすることを知っていますが、タイマーで同じ問題を抱えているためだけにそれらのサーフェスをソートするのに多くの時間を費やし、次に何が起こるのか疑問に思っていることに非常に不満を感じています...それはすべて学習の一部だと思いますが;)