isa
1
クイックリスタート機能にて、シーン遷移が発生する状態で以下を実現したいと思っていたのですが、現状は不可能でしょうか。
■実現したいこと
体力が0になった際、プロジェクト変数(アイテム・素材・経験値、イベントのフラグ)などはオートセーブ以降の状態を保持し、違うシーンのオートセーブ地点へ自分だけ戻る
メトロイドヴァニアなどでよくある機能かと思います。
「オートセーブ地点へ自分だけ戻る」で実現可能と思っていたのですが、試したところ現状シーンを跨いで戻す事はできない仕様かと思います。
今後、上記のような機能の実装予定はありますでしょうか。
もし、実装予定が無い場合、何か簡単な代替策等ありましたら教えてください。
なるほど、クイックリスタート機能は「ロードを挟まずにリスタートできる」を主眼において作った機能だったので想定外でしたが、確かに需要がありそうですね、ちょっと検討させていただきます。
「いいね!」 1
isa
3
ありがとうございます!
現状だと、「体力が0になる可能性のあるシーンを全て洗い出し、かつ洗い出したシーンをすべての中間ポイント(セーブ可能)シーンと遷移できるように接続し、体力が0になって戻る先の中間ポイントを変数やフラグで管理する」といった方法しか思いつかずでした。
(godotなのでコードで書けばもう少し簡単にできるとは思うのですが…。)
お忙しいところ恐縮ですがご検討よろしくお願いいたします!
こちらシーンをまたいで自分だけ戻る機能を実装させていただきました
「いいね!」 1
isa
5
ご対応ありがとうございます。動作確認させていただきました。
ほぼ理想の動作とすることができました。早急なご対応ありがとうございます!
ただ、クイックリスタート時、画面遷移前(HPが0になったシーン)と遷移後(中間ポイントが存在するシーン)でそれぞれ一回ずつクイックリスタートアクションが存在するステートのアクション全量が実行されている可能性があり、そこだけご確認いただけますでしょうか。
・「S_dead_1」ステートと「S_dead_2」ステートでそれぞれコンソールに「S_dead_1実行」、「S_dead_2実行」ログを出力している
・「S_dead_2実行」ログの後に再度「S_dead_2実行」ログが出力され、そのあとに復元ポイントが無いエラーが発生
・「S_dead_2」ステートから「S_revival」ステートに伸びているリンクは「無条件」を設定
こちらですが、
「今の状態を保つ」で自分だけ戻した際、ステートの状態まで保つため同じステートに再突入して再実行されてしまうようです。
「今の状態を保つ」や「足場に戻る」の後に実行するステートを指定できるようにしたパッチを配信しました