ピクチャでメッセージウィンドウや立ち絵を作る時の弊害

こんな面倒臭いことってある?

Q、立ち絵や自作メッセージウィンドウを連続で切り替えるとラグが発生する

A、イベントの最初に「透明度0で使用する全てのピクチャを表示させておこう。」

 私は以前ゲーム内で自作メッセージウィンドウを使っていたことがある。

やり方は簡単で、ピクチャでメッセージウィンドウを描いて表示させるだけ。

 ただ一連のピクチャ表示を毎回打ち込むのは面倒なので下のようなコモンイベントを組んでいた。

イラスト3

画像2

 私はこのピクチャのメッセージウィンドウと立ち絵表示を気に入っていた。
ただ気に入らない点が1つだけあった。

ラグである。

メ ッセージウィンドウは良しとしてもキャラクタの表情を変える際にラグが発生していた。
小さなチラつきだったが、私はこれがどうしても許せなかった。

 このラグについては「2回目以降」表示する場合は起こらない、ということが分かっていた。
つまり画像の読み込みのラグなのだ。
前回の記事のキャラチップのラグと同様の案件である。

 解決策はシンプル、「最初に全部表示してしまえばいい」のだ。
しかしこれらが用もないのに見えていると困るので、
透明状態(不透明度0)で最初に全部表示する
が最適解だという結論に至った。
 まあこの考え方のせいでまた別の問題にぶち当たったのだけれど。

下記の画像のように全てイベント内で使用するピクチャを透明状態で配置する。

イラス4

すると実際に画像を表示させた時にラグが起こらなくなった。
「完璧だ...!」この時はそう思っていた。


セーブとピクチャの関係性

「ピクチャを表示させたままだとセーブができない」

 ということを学習したのはそれから2週間ほど経った頃だった。

 私はこの2週間、過去最高にイライラした。レッドブルの消費量も過去一だったと思う。
やっと理想の形になったもののせいで大きすぎる弊害が生まれたからだ。

「セーブが出来なくなった。」

 実際にやると分かるが、先程の立ち絵を実装した場合、「エラー音が出る」もしくは「セーブしたスロットが虚無」になって選べなくなってしまうとういう現象が起こっていた。
 これは正常なデータを上書きすればそちらは普通に機能するので安心していいし、心配なら「save」ファイル内からデータを削除すればゲーム自体に問題は出ない。

 2週間かけて私が得た答えは必ず「使用した【ピクチャの消去】をイベント内の最後に入れておく」ということだ。

イラスト5

(私は心配性なので部屋から出るのと同時に確実に消せるように二重でピクチャの消去を組んでいます。)

「ピクチャを不透明度0で表示させている」ので終始ピクチャは透明になっている。
だから私は「ピクチャを消す」という所に気がいかなかった。
見えないものは忘れがちだからね。

それと今更だが

不透明度255が正常の表示で0に近づくほど透明になる。
0だと何も表示されていないのとおなじ状態である、が実際には「透明な画像が表示されている」判定になっている。

 とりあえず「ピクチャを表示させたままの場合にはセーブを正常にする事が出来ない仕様になっている」という感じのことを覚えておいて欲しい。

逆に言えばセーブできない時にはピクチャの確認も視野に入れて欲しい。

 メニュー画面からどこでもセーブできるタイプのゲームを作る人は1つピクチャを消し忘れるだけで大変なことになるのであまり推奨できない。


正直、MVは作りこむほど「セーブ」ができない場面が出てくる。
プレイ専門の方はメニュー画面からどこでもセーブできない系のゲームを見て「どこでもセーブできねえのかよ~クソじゃん」とか思わないでほしい。
 
いじわるしているのではなく、作りこんだイベントによってはセーブに不具合が出てしまうケースがあるのだ。


最後にこれを読んでくれ。

 

なんてつらつら書いたけど、久々にそのゲームを開いて確認したら

「あれ…?ピクチャ表示したまんまで…セーブが……できる?!」

 もしかしたらMVのアプデで改善された・・・?
まあセーブでごちゃごちゃ問題が発生していたのは1年以上前の話なのでそういうこともあるよね。

 でも特定のプラグインをピクチャに使用しているとやっぱりセーブはできないようなので、表示させたピクチャはしっかり消去しましょう。



 セーブとピクチャの関係性に関しては実際に私が1つ1つ試していった果ての結論なので、実際にはもっと違う理屈があるのかもしれない。
結構前の話だったし。

 この記事を読んだ人がピクチャについてのもっと詳しい仕組みを知っていたらぜひ教えて欲しいー!

この記事が気に入ったらサポートをしてみませんか?