私は今までウディタのセーブ・ロード機能を使ってコモンを作ったことがなかったのですが、最近自作のセーブ画面を作るために初めてそれらの機能を使うことになりました。しかし作ったコモンをテストプレイしてみるとなかなかうまく動きません。そこで調べてみるとセーブ・ロード機能にはいくつか仕様があり、そういった仕様を知らなかったためバグと勘違いしていた…ということがありました。
このようにウディタは細かい仕様を知らないとシステムを自作するときに困ることが多々あります。そこで、この記事では注意したいセーブ・ロード機能の仕様をまとめておきます。
注意したいセーブ・ロード機能の仕様
特に気をつけたい仕様は次の4つです。
- セーブ時に実行中だったイベントがロード時に再開されることはない
- セーブ時に表示されていたピクチャはロード後にも表示される
- セーブ前に最後に指定したトランジションがロード時のトランジションになる
- 「セーブデータへの書込み」で新たなセーブデータを作った場合、そのセーブデータには可変DBの値は保存されない
以下、詳しく見ていきましょう。
1.セーブ時に実行中だったイベントがロード時に再開されることはない
まず、これは初めてセーブ機能を使う時に特に勘違いしやすい仕様ですね。マニュアルを見ると次のように書かれています。
たとえイベントの途中でセーブしていた場合でも、セーブデータをロードした直後は「イベントが実行されていない状態」から再開されます。
つまり、ロード後に実行中だったイベントコマンドが途中から再開されたりはしませんので、注意してください。
イベントの途中でセーブしたい場面は結構あると思うのですが、何も知らないままそれをやってしまうと失敗してしまいます。
2.セーブ時に表示されていたピクチャはロード後にも表示される
これも最初は勘違いしやすい仕様です。セーブ時に表示されたピクチャはロードした後も残ってしまうので、セーブ画面を作るときはセーブ直前・またはロード直後にいったん画面内のピクチャを全部消去する必要があります。
3.セーブ前に最後に指定したトランジションがロード時のトランジションになる
これについては以前「ロード時のトランジションを変更する方法」で触れたとおりですね。この仕様を利用すると、セーブ直前に好きなトランジションを指定しておけばロード時のトランジションを変更できます。
4.「セーブデータへの書込み」で新たなセーブデータを作った場合、そのセーブデータには可変DBの値は保存されない
最後に「セーブデータへの書き込み」機能についてです。これはあるセーブデータの指定した変数だけにデータを書き込む機能で、通常のセーブと同様に該当するセーブデータがない場合は新しいセーブデータを作成します。しかし、この機能によってつくられたセーブデータには可変DBの値は保存されないので注意です。…といっても、この機能を使うのは周回情報などを保存するときくらいなので知らなくてもあまり困ることはないでしょう。