fc2ブログ

ウディタ中級者になるためのその7~ロード時のみ起動するイベント~

そろそろネタもないですが、セーブロードについて書いてなかったので書いておきます。
自作システムでセーブロード操作を作ったことのある人なら知ってると思いますが、セーブロードの簡単な仕様↓
・セーブ時のBGMや表示ピクチャなどが保存される
・実行中のイベントは保存されない(ロードすると起動中イベントなしの状態から始まる)

まぁ当たり前っちゃ当たり前なんですが。
しかし自分も最初にセーブロードを作ったときは困ったんですが、この仕様のおかげでセーブ時に表示したピクチャ類がロード時に残ってしまうんですよね(要するに、メニューからセーブするとロード時もメニュー用ピクチャが表示されたままになってしまう)。

これを基本システムではどう処理していたかというと、セーブ時には一度メニュー系ピクチャを全消去していました。
基本システムのセーブ時に、セーブ画面が再展開するような動きをするのは誰でも知ってると思いますが、あの動きはこれのためですね。

しかし、正直いうとセーブ時にメニュー画面を消去・再表示するのは面倒だし不便です。
(そして個人的な感想だが見た目もあまり美しくない)。
ということで、ここではセーブ時にピクチャ消去してからセーブするのではなく、そのままセーブしておいて、ロード時にいらないピクチャ類を全消去することをお勧めします。
ロード直後にはピクチャ消去以外にもいろいろやりたいことがあったりするので、たぶんこっちのが便利なんじゃないかなぁと。

で、ロード時にピクチャ消去するにはどうすればいいかっちゅー話ですが。
誰でも分かるでしょうが、ロード時にのみ起動するコモンイベントが必要になります。
そしてもちろんですが、このイベントは条件付きの並列実行のイベントになります。
通常変数に「ロード直後=1」みたいな変数を作って、条件を満たす場合のみ実行するようにすればいいでしょう。

セーブ時にこんな感じに操作してやれば、

■変数操作: V0[ロード直後=1] = 1 + 0
■データのセーブ: 1
■変数操作: V0[ロード直後=1] = 0 + 0

ロード時にのみ実行する並列イベントが組めそうですね。
以下オマケ。

ロード時にそれっぽいエフェクトをかけたい場合の話。
実はロード時にゲーム画面に戻るときのエフェクトは、そのセーブデータ内で最後に指定されたトランジションタイプが適用されます。
ということは、セーブ直前にトランジションの指定をしておけば、ロード時にトランジションつきでロードできるというわけですね。

ロード時のエフェクトまでこだわったウディタ製ゲームはあんまり見かけないけど…。
そういえば悠遠物語がロード時にちょっとお洒落なトランジションを使っていたかな?
関連記事
スポンサーサイト



コメントの投稿

非公開コメント

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

Re: この記事がとても役に立ちました!

コメントありがとうございます。
ウディタ関連の記事は読んでいる人がいるのか謎だったんですが、お役に立てたみたいでなによりです!

No title

ロード時にピクチャが消えなかったので非常に参考になりました!
おかげでピクチャが消せたりロード時のみの処理が出来ました!

Re: No title

> ロード時にピクチャが消えなかったので非常に参考になりました!
> おかげでピクチャが消せたりロード時のみの処理が出来ました!

コメントありがとうございます。
セーブロード時の処理はなかなか分かりづらいところが多いですね。
お役にたててよかったです。
Twitter
カテゴリ
最新コメント
月別アーカイブ
カウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR