レベルで定義されたオブジェクトの永続状態を実装するにはどうすればよいですか?
私は再接続可能な一連の相互接続されたレベルで構成される2Dメトロイドバニアを開発しています。 各レベルは、さまざまなスプライトクラスのさまざまなオブジェクト(たとえば、敵、ピックアップ、レバーなど)が生成される場所を指定したTiled TMXファイルで表されます。新しいゲームを開始するとき、保存したゲームをロードするとき、またはレベルを変更するとき、ゲームループは適切なTMXファイルを実行し、そのレベルのすべてのオブジェクトを生成します。 レベルの変更は次の方法で処理します。Playerオブジェクトがオブジェクトと交差するPortal場合、change_map()新しいマップ(交差したポータルに関連付けられたマップ)をロードし、プレーヤーを新しいマップ上の適切な位置に配置するメソッドが呼び出されます。 一部のオブジェクトには、レベルの変更とゲームの保存と終了を通じて永続的になりたい状態があります。たとえば、プレーヤーがドアのロックを解除し、ドアの状態属性が「開く」に設定されている場合、プレーヤーが戻ったときにドアが開くようにします。左または右に設定できるレバー、およびその他のさまざまなオブジェクトに似たものが必要です。さらに、プレイヤーがエリアを再訪したときに、プレイヤーが再スポーンしたくないアイテムを収集することがあります。 したがって、私の質問は、この種の永続性をどのように処理できますか? 私はPythonで働いていますが、あなたはそれから抽象化できると思います。