記事No | : 21536 [関連記事] |
タイトル | : Re: STGゲーム続き 敵弾発射時にマップ移動した際の弾ピクチャの消し方 |
投稿日 | : 2023/05/25 21:52 |
投稿者 | : YADO [LerLWW459] |
ピクチャが残る原因は、ループの処理途中に別のマップへ移動すると、
マップイベントの並列実行が強制終了し、最後にあるピクチャ消去が実行できなくなる事が原因でしょう。
ピクチャの消し方はいくつかの方法がありますが、単純なのはコモンイベントにマップ移動を監視する並列実行を設定し、
別のマップへ移動したらピクチャが消えるようにする方法です。
コモンべイベント/並列実行
■変数操作+: CSelf10 = 現在のマップID
■条件分岐(変数): 【1】 CSelf10 が CSelf11 と同じ
-◇分岐: 【1】 [ CSelf10 が CSelf11 と同じ ]の場合↓
|■イベント処理中断
|■
◇分岐終了◇
■変数操作+: CSelf11 = 現在のマップID
■ピクチャ消去:300 / 0(0)フレーム
■
WoditorEvCOMMAND_START
[124][3,0]<0>(1600010,12288,0)()
[111][4,0]<0>(1,1600010,1600011,2)()
[401][1,0]<0>(1)()
[172][0,0]<1>()()
[0][0,0]<1>()()
[499][0,0]<0>()()
[124][3,0]<0>(1600011,12288,0)()
[150][3,0]<0>(2,300,0)()
WoditorEvCOMMAND_END
元のマップへ戻ってきた時にピクチャが表示されるのは、2ページ目が再び実行されている事が原因でしょう。
多分2ページのイベントコマンドを
■イベントの挿入[名]: ["敵の弾発射コモン"] <コモンEv 215>
■変数操作: このEvのセルフ変数0 = 0 + 0
■
のように設定しているかと思いますが、この場合は上記のピクチャが消えない理由と同様に、
別のマップへ移動するとイベント処理が強制終了してしまうため、
最後に設定した変数操作が実行できず、このマップへ戻ってくると再び2ページ目が最初から実行されます。
例えば以下のように設定すれば、2ページ目の1回目の実行は敵の弾発射コモンの呼び出しが実行され、
2回目の実行ではセルフ変数を「0」に戻して、2ページ目の起動条件を満たさないようにする事ができるでしょう。
■条件分岐(変数): 【1】 このEvのセルフ変数1 が 1 と同じ
-◇分岐: 【1】 [ このEvのセルフ変数1 が 1 と同じ ]の場合↓
|■変数操作: このEvのセルフ変数0〜このEvのセルフ変数1 = 0 + 0
|■イベント処理中断
|■
◇分岐終了◇
■変数操作: このEvのセルフ変数1 = 1 + 0
■イベントの挿入[名]: ["敵の弾発射コモン"] <コモンEv 215>
■