人生

やっていきましょう

先日のイベントがうまく機能しなかった。鳥と主人公を別々のマップにして移動したとき、画面が暗転したままになっていた。

原因がまったく分からなかったがようやく謎が解けた。問題はイベントの起動条件にあった。

自分はこのイベントを並列実行で起動していた。並列実行とはその名の通り、他のイベントと「並列」して実行されるイベントである。たとえばキャラクターにセリフを喋らせながら雪を降らせたいという時、天候エフェクトを並列イベントで実行するとうまくいく。

何が問題だったのかというと、マップ移動の際に並列イベントが中断されたということだ。マップ移動の直前まではイベントが実行されていたが、移動以後の処理はまったく実行されていなかった。自分はその前に画面の暗転処理を入れており、本来であれば照明がつくはずだったのが、マップ移動で中断されたことで暗いままになっていた。

これで解決したかと思ったが、更に問題があった。自分はシフトキーを入力して実行される主人公と鳥の視点移動のイベントを、個々のマップごとに配置していた。はじめはコモンイベントで一括すべきだと考えたが、コモンイベントでは個々のマップのキャラクターをうまく管理することができないからである。特に自分が主人公の時の鳥、鳥のときの主人公といったオブジェクトの扱いで、やむなく並列実行のイベントを各マップに配置していたのだが、この並列実行のイベントがかちあうことでうまく起動していなかった。

これは各マップの並列実行イベントをすべてコモンイベントで管理することで解決した。だがこれでオブジェクトを管理する方法を一から考え直さなければならなくなった。今からその解決を目指す。また進展があったら記事に書く。