ウディタ中級者になるためのその7~ロード時のみ起動するイベント~
そろそろネタもないですが、セーブロードについて書いてなかったので書いておきます。
自作システムでセーブロード操作を作ったことのある人なら知ってると思いますが、セーブロードの簡単な仕様↓
・セーブ時のBGMや表示ピクチャなどが保存される
・実行中のイベントは保存されない(ロードすると起動中イベントなしの状態から始まる)
まぁ当たり前っちゃ当たり前なんですが。
しかし自分も最初にセーブロードを作ったときは困ったんですが、この仕様のおかげでセーブ時に表示したピクチャ類がロード時に残ってしまうんですよね(要するに、メニューからセーブするとロード時もメニュー用ピクチャが表示されたままになってしまう)。
これを基本システムではどう処理していたかというと、セーブ時には一度メニュー系ピクチャを全消去していました。
基本システムのセーブ時に、セーブ画面が再展開するような動きをするのは誰でも知ってると思いますが、あの動きはこれのためですね。
しかし、正直いうとセーブ時にメニュー画面を消去・再表示するのは面倒だし不便です。
(そして個人的な感想だが見た目もあまり美しくない)。
ということで、ここではセーブ時にピクチャ消去してからセーブするのではなく、そのままセーブしておいて、ロード時にいらないピクチャ類を全消去することをお勧めします。
ロード直後にはピクチャ消去以外にもいろいろやりたいことがあったりするので、たぶんこっちのが便利なんじゃないかなぁと。
で、ロード時にピクチャ消去するにはどうすればいいかっちゅー話ですが。
誰でも分かるでしょうが、ロード時にのみ起動するコモンイベントが必要になります。
そしてもちろんですが、このイベントは条件付きの並列実行のイベントになります。
通常変数に「ロード直後=1」みたいな変数を作って、条件を満たす場合のみ実行するようにすればいいでしょう。
セーブ時にこんな感じに操作してやれば、
■変数操作: V0[ロード直後=1] = 1 + 0
■データのセーブ: 1
■変数操作: V0[ロード直後=1] = 0 + 0
ロード時にのみ実行する並列イベントが組めそうですね。
以下オマケ。
ロード時にそれっぽいエフェクトをかけたい場合の話。
実はロード時にゲーム画面に戻るときのエフェクトは、そのセーブデータ内で最後に指定されたトランジションタイプが適用されます。
ということは、セーブ直前にトランジションの指定をしておけば、ロード時にトランジションつきでロードできるというわけですね。
ロード時のエフェクトまでこだわったウディタ製ゲームはあんまり見かけないけど…。
そういえば悠遠物語がロード時にちょっとお洒落なトランジションを使っていたかな?
・セーブ時のBGMや表示ピクチャなどが保存される
・実行中のイベントは保存されない(ロードすると起動中イベントなしの状態から始まる)
まぁ当たり前っちゃ当たり前なんですが。
しかし自分も最初にセーブロードを作ったときは困ったんですが、この仕様のおかげでセーブ時に表示したピクチャ類がロード時に残ってしまうんですよね(要するに、メニューからセーブするとロード時もメニュー用ピクチャが表示されたままになってしまう)。
これを基本システムではどう処理していたかというと、セーブ時には一度メニュー系ピクチャを全消去していました。
基本システムのセーブ時に、セーブ画面が再展開するような動きをするのは誰でも知ってると思いますが、あの動きはこれのためですね。
しかし、正直いうとセーブ時にメニュー画面を消去・再表示するのは面倒だし不便です。
(そして個人的な感想だが見た目もあまり美しくない)。
ということで、ここではセーブ時にピクチャ消去してからセーブするのではなく、そのままセーブしておいて、ロード時にいらないピクチャ類を全消去することをお勧めします。
ロード直後にはピクチャ消去以外にもいろいろやりたいことがあったりするので、たぶんこっちのが便利なんじゃないかなぁと。
で、ロード時にピクチャ消去するにはどうすればいいかっちゅー話ですが。
誰でも分かるでしょうが、ロード時にのみ起動するコモンイベントが必要になります。
そしてもちろんですが、このイベントは条件付きの並列実行のイベントになります。
通常変数に「ロード直後=1」みたいな変数を作って、条件を満たす場合のみ実行するようにすればいいでしょう。
セーブ時にこんな感じに操作してやれば、
■変数操作: V0[ロード直後=1] = 1 + 0
■データのセーブ: 1
■変数操作: V0[ロード直後=1] = 0 + 0
ロード時にのみ実行する並列イベントが組めそうですね。
以下オマケ。
ロード時にそれっぽいエフェクトをかけたい場合の話。
実はロード時にゲーム画面に戻るときのエフェクトは、そのセーブデータ内で最後に指定されたトランジションタイプが適用されます。
ということは、セーブ直前にトランジションの指定をしておけば、ロード時にトランジションつきでロードできるというわけですね。
ロード時のエフェクトまでこだわったウディタ製ゲームはあんまり見かけないけど…。
そういえば悠遠物語がロード時にちょっとお洒落なトランジションを使っていたかな?
- 関連記事
-
- ウディタ中級者になるためのその7~ロード時のみ起動するイベント~ (2015/01/30)
- トランジションについて (2014/11/12)
- ウディタ中級者になるためのその3 ~文字列を有効活用しよう!~ (2014/12/21)
- マッピングの話 (2015/09/24)
- ウディタ中級者になるためのその8 ~デバッグ技術~ (2015/05/20)
スポンサーサイト