| お初にお目にかかります。 SRCユーザーの1人「GAMEMASTER」と申します。
> それで質問です。 > Aの時に@の残存兵力5以下〜を消す方法。 > *言うまでもありませんがAで敵が5以下になると@の敵が何度も出て来てクリア出来なくなります > Bの時にAの敵30機を全滅させると〜を消す方法。 > *Bを永久ループしてしまいます。 > > ご協力、お願いします。
最初の質問に対して。 初期配置・増援の敵の全てに、作成時に共通したIDを設定しましょう。
スタート:
(中略)
Create 敵 ユニット ユニットのランク パイロット パイロットのレベル X座標 Y座標 初期配置 Create 敵 ユニット ユニットのランク パイロット パイロットのレベル X座標 Y座標 初期配置
・・・
(中略)
ClearEvent "全滅 敵"
Exit
「全滅 敵」イベントは最後に利用するため、それ以前に実行されないようにこの時点でClearEventによって消去しておきます。 まず、初期配置の敵を作成する時に末尾に「初期配置」とIDを設定することで、「破壊 初期配置」と設定されたイベントがこの「初期配置」の敵を破壊した時にのみ実行されます。
破壊 初期配置:
If 敵数 > 5 Exit
Create 敵 ユニット ユニットのランク パイロット パイロットのレベル X座標 Y座標 増援 Create 敵 ユニット ユニットのランク パイロット パイロットのレベル X座標 Y座標 増援
・・・
ClearEvent
Exit
最後にClearEventコマンドで「破壊 初期配置」イベントを消去することで、以後初期配置の敵を倒しても(もちろん「増援」のIDを持つ敵を倒しても)二度と増援は現れません。
次の質問に対して。 同じく、第2初期配置の敵の全てにID「第2初期配置」を設定しましょう。
進入 味方 第1進入ポイント:
ChangemMap 洞窟.map
(中略)
Create 敵 ユニット ユニットのランク パイロット パイロットのレベル X座標 Y座標 第2初期配置 Create 敵 ユニット ユニットのランク パイロット パイロットのレベル X座標 Y座標 第2初期配置
・・・
(中略)
ClearEvent
Exit
これも最後にClearEventコマンドを使用することで、第2のマップで「第1進入ポイント」と同一の場所に到達してもイベントは発生しません。 そして、今回も「破壊 第2初期配置」イベントを設定します。
破壊 第2初期配置:
If 敵数 > 0 Exit
ChangemMap 洞窟の次.map
(中略)
Create 敵 ユニット ユニットのランク パイロット パイロットのレベル X座標 Y座標 Create 敵 ユニット ユニットのランク パイロット パイロットのレベル X座標 Y座標 Create 敵 ユニット ユニットのランク パイロット パイロットのレベル X座標 Y座標
・・・
(中略)
ClearEvent
RestoreEvent "全滅 敵"
Exit
後に控えるのはラスボスだけなので、今度はIDは必要ありません。そして、「全滅 敵」イベントをここで復活させます。
全滅 敵:
(中略)
Create 敵 ラスボス ラスボスのランク ラスボス ラスボスのレベル X座標 Y座標
(中略)
ClearEvent
Exit
基本的に、敵の中に複数の部隊(今回の場合、最初の敵部隊・増援の敵部隊・次のマップの敵部隊・最後のマップの敵部隊)を設定する場合はIDを活用しましょう。全ての敵に対して実行される「破壊 敵」「全滅 敵」イベント内で処理を条件分岐させるよりも、イベントの作成と管理の面において楽になります。 また、イベントの無限循環を防止するにはClearEventコマンドを使いましょう。イベントそのものを絶対発生させなくなるので、変数(フラグ)によってイベント実行を条件判断させるよりも処理が軽くなる上確実性も高くなります。
参考になれば幸いです。
もう時間がないようでございますね。では、これにて退散させてもらいましょう。
|