イベント(ゲーム内)管理について思った事
…貴様に拙者の動きが見切れるでござるかなっ!!
…と、まあそういうわけで、前々回くらいの記事で書いた、「ゲーム内強制イベントを増やしすぎると、メインの動作がおかしくなるよ現象」について、不確かですが、少し分かった事があるので書こうと思います。
結論から言うと、前回悩んでいた事象については解決しました。
具体的には、
ゲーム内イベントで、
・主人公のキー操作を無効にして会話イベントを進める
・会話イベントが終了するとキー操作が有効に戻る
というようなイベントを複数組んだ場合に、メイン動作の中に組み込まれている、
・敵に当たるとしばらく無敵時間&キー操作不能時間が発生する
というイベントが機能しなくなっておりました。
どこを触っても原因が分からず…
私はゲーム内の強制イベントはそれぞれイベント毎に管理用オブジェクトを作って、オブジェクトイベントで制御していました。
なので、イベント制御用の変数がメイン動作用の変数に影響する事は無いはず…と思っていたのですが、それは考えが甘いようで、余程正確に変数管理を行わないと、強制イベントが終了後も動作制御への影響が出てしまうようでした。
勿論強制イベント終了時に、各種変数の初期化を行っているはずなのに…
(実は↑の症状以外にも、主人公グラフィックの強制アニメーション変更が出来ないというトラブルがありました)
で、考えた対策が、
強制イベント終了後に、イベント管理オブジェクト毎破壊してしまう
という事。
たったこれだけで綺麗に全て元通り機能するようになりました。
(根本解決するとは言ってない)
変数を所持するオブジェクトは破壊されれば、その変数自体が消滅してしまうようですね♪
強制イベント絡みの動作不良でお悩みの方は試してみられてはいかがでしょうか?
…何度も繰り返して発生させたいイベントの場合どうするのか?とか言わないで…