RPGツクール2000/自作戦闘
ピクチャー弾丸を飛ばす
■監視イベントを追加
(更新:2011/08/06)


通常は動かない敵キャラが、敵キャラの視野内に主人公が入ると、
敵キャラが主人公に近寄るイベントを設定します。


このページは続きとなっているページです
ピクチャー弾丸の基礎ページをご覧の上で
このページをご覧ください。
【ピクチャー弾丸の基礎ページを開く】
このページの設定を行う前に、
先に当たり判定の処理を追加するの設定を行ってください。
【当たり判定の処理を追加するのページを開く】



☆敵も弾丸発射との関係
敵も弾丸発射の処理には、監視イベントと同様の処理があり、
その監視イベントによって主人公を見つけてから弾丸を発射するようにしています。
そのため、敵も弾丸発射を設定している場合は、この監視イベントの設定は不要です。

このページの設定は、敵も弾丸発射監視イベントの部分だけを設定する形になりますので、
変数やイベントの名前などは敵も弾丸発射の名前をそのまま使用しています。


  
☆スイッチ・変数
スイッチと変数の番号使用内容の一覧表です。

スイッチ
番号 名前 使用内容 初使用ページ
0001 システム起動 初期設定が終わったらON→弾丸処理実行。 基礎
 
0011 弾丸移動中01 ONの時には弾丸01は移動中。 基礎
0012 弾丸移動中02 ONの時には弾丸02は移動中。 基礎
0013 弾丸移動中03 ONの時には弾丸03は移動中。 基礎
 
0021 敵弾丸移動中01 ONの時には敵弾丸01は移動中。 敵弾丸
0022 敵弾丸移動中02 ONの時には敵弾丸02は移動中。 敵弾丸
 
0041 主人公に近づく:敵01 ONの時には敵01が主人公に近づきます。 敵弾丸
0042 主人公に近づく:敵02 ONの時には敵02が主人公に近づきます。 敵弾丸

変数
番号 名前 使用内容 初使用ページ
0001 キー入力 決定キーが押されているかどうかを判断する時に使用。 基礎
0002 移動距離 ピクチャー弾丸が移動する距離(射程)を設定。 基礎
0003 X± 向きに合わせて1回の処理で移動するXの移動量を設定。 基礎
0004 Y± 向きに合わせて1回の処理で移動するYの移動量を設定。 基礎
0005 X座標 弾丸の位置のX座標を設定。 当たり判定
0006 Y座標 弾丸の位置のY座標を設定。 当たり判定
0007 ID 弾丸の位置の地形IDやイベントIDを取得。 当たり判定
0008 1ページ目 敵キャラの1ページ目を呼び出す時に使用。 当たり判定
0009 最小敵イベントID マップ内で最も小さい敵イベントIDを設定。 当たり判定
 
0011 敵弾:当たり確認X 主人公と敵弾丸が重なっているかを調べる時に使用。 敵弾丸
0012 敵弾:当たり確認Y 主人公と敵弾丸が重なっているかを調べる時に使用。 敵弾丸
0013 敵弾:X±状態記憶 敵弾丸の移動方向を決める時に使用。 敵弾丸
0014 敵弾:Y±状態記憶 敵弾丸の移動方向を決める時に使用。 敵弾丸
 
0015 敵弾壁確認:位置X 発射前の壁の確認で使用。 敵弾丸
0016 敵弾壁確認:位置Y 発射前の壁の確認で使用。 敵弾丸
0017 敵弾壁確認:移動X 発射前の壁の確認で使用。 敵弾丸
0018 敵弾壁確認:移動Y 発射前の壁の確認で使用。 敵弾丸
0019 敵弾壁確認:移動量 発射前の壁の確認で使用。 敵弾丸
 
0021 キーカウント 弾丸が発射して、次の弾丸が発射するまでの間をカウント。 基礎
0022 無敵時間 主人公がダメージを受けた時の無敵時間を設定。-1以下=無敵。 当たり判定
 
0031 弾丸移動量01 発射時から1ずつ加算していき、
変数[0002:移動距離]以上の値になったら弾丸01を消去。
基礎
0032 弾丸移動量02 発射時から1ずつ加算していき、
変数[0002:移動距離]以上の値になったら弾丸02を消去。
基礎
0033 弾丸移動量03 発射時から1ずつ加算していき、
変数[0002:移動距離]以上の値になったら弾丸03を消去。
基礎
 
0041 弾丸01X 弾丸01のX位置を記憶。 基礎
0042 弾丸02X 弾丸02のX位置を記憶。 基礎
0043 弾丸03X 弾丸03のX位置を記憶。 基礎
0051 弾丸01Y 弾丸01のY位置を記憶。 基礎
0052 弾丸02Y 弾丸02のY位置を記憶。 基礎
0053 弾丸03Y 弾丸03のY位置を記憶。 基礎
 
0061 弾丸01X± 弾丸01の1回のXの移動量を記憶。 基礎
0062 弾丸02X± 弾丸02の1回のXの移動量を記憶。 基礎
0063 弾丸03X± 弾丸03の1回のXの移動量を記憶。 基礎
0071 弾丸01Y± 弾丸01の1回のYの移動量を記憶。 基礎
0072 弾丸02Y± 弾丸02の1回のYの移動量を記憶。 基礎
0073 弾丸03Y± 弾丸03の1回のYの移動量を記憶。 基礎
 
0081 弾丸01前のX座標 弾丸01の前のX座標を代入し、次の処理の時に使用。 当たり判定
0082 弾丸02前のX座標 弾丸02の前のX座標を代入し、次の処理の時に使用。 当たり判定
0083 弾丸03前のX座標 弾丸03の前のX座標を代入し、次の処理の時に使用。 当たり判定
0091 弾丸01前のY座標 弾丸01の前のY座標を代入し、次の処理の時に使用。 当たり判定
0092 弾丸02前のY座標 弾丸02の前のY座標を代入し、次の処理の時に使用。 当たり判定
0093 弾丸03前のY座標 弾丸03の前のY座標を代入し、次の処理の時に使用。 当たり判定
 
0101 敵ダメージ01 敵キャラ01のダメージ量を設定。10以上で敵キャラ01が消滅。 当たり判定
0102 敵ダメージ02 敵キャラ02のダメージ量を設定。10以上で敵キャラ01が消滅。 当たり判定
 
0201 敵弾:両者の距離X01 主人公と敵01とのX座標の距離を算出。 敵弾丸
0202 敵弾:両者の距離X02 主人公と敵02とのX座標の距離を算出。 敵弾丸
0211 敵弾:両者の距離Y01 主人公と敵01とのY座標の距離を算出。 敵弾丸
0212 敵弾:両者の距離Y02 主人公と敵02とのY座標の距離を算出。 敵弾丸

【スイッチ・変数の一覧表を開く】



☆壁の確認イベントを追加する
敵キャラと主人公との間に壁があるかどうかを調べ、
壁が無かった時のみ敵が主人公を発見した事にします。

このイベント設定は、
主人公の弾丸で設定する壁の当たり判定を追加するの設定をそのまま設定します。
地形IDなどの説明は、壁の当たり判定を追加するのページをご覧ください。
【壁の当たり判定を追加するのページを開く】

このイベントはコモンイベントに設定します。
敵も弾丸発射でもコモンイベント「敵弾:壁確認」を設定していますが、
設定内容は敵も弾丸発射の物と同じです。
既に敵も弾丸発射で設定済みの場合は、新たに設定する必要はありません。

なお、
◆変数の操作:[0005:X座標]加算,変数[0169]の値
◆変数の操作:[0006:Y座標]加算,変数[0170]の値

の設定は、画面スクロールの設定がある場合のみ設定してください。
※マップによって、画面スクロールがある場合と無い場合がある時には、
 上記変数を設定したタイプと設定していないタイプの両方を設定し、
 マップの状況に応じて呼び出すコモンイベントを変えてください。




■コモンイベント「敵弾:壁確認」
イベント開始条件:呼び出されたときのみ
イベント実行内容は、まず下記の設定を行ってください。
◆注釈:------------------------------
:  :▼00
:  : 

◆変数の操作:[0019:敵弾壁確認:移動量]代入,0
◆条件分岐:変数[0019:敵弾壁確認:移動量]がV[0002]以上
 ◆イベント処理の中断
 ◆
:分岐終了
◆変数の操作:[0015:敵弾壁確認:位置X]加算,変数[0017]の値
◆変数の操作:[0016:敵弾壁確認:位置Y]加算,変数[0018]の値
◆変数の操作:[0011:敵弾:当たり確認X]代入,変数[0015]の値
◆変数の操作:[0012:敵弾:当たり確認Y]代入,変数[0016]の値
◆変数の操作:[0011:敵弾:当たり確認X]減算,主人公の画面X
◆変数の操作:[0012:敵弾:当たり確認Y]減算,主人公の画面Y
◆変数の操作:[0012:敵弾:当たり確認Y]加算,8
◆変数の操作:[0011〜0012]除算,8
◆条件分岐:変数[0011:敵弾:当たり確認X]が0
 ◆条件分岐:変数[0012:敵弾:当たり確認Y]が0
  ◆イベント処理の中断
  ◆
 :分岐終了
 ◆
:分岐終了
◆変数の操作:[0005:X座標]代入,変数[0015]の値
◆変数の操作:[0006:Y座標]代入,変数[0016]の値
◆変数の操作:[0005:X座標]加算,変数[0169]の値<画面スクロールがあるのみ設定
◆変数の操作:[0006:Y座標]加算,変数[0170]の値

◆変数の操作:[0005〜0006]除算,16
◆指定位置の地形ID取得:(V[0005],V[0006]),[0007:ID]
◆条件分岐:変数[0007:ID]が2
 ◆イベント処理の中断
 ◆
:分岐終了




注釈:00の設定が終わりましたら、
注釈:00の設定をコピーして、すぐ下に貼り付けて、
黄色の部分を修正してください。
◆注釈:------------------------------
:  :▼00
:  : 

◆変数の操作:[0019:敵弾壁確認:移動量]代入,0
◆条件分岐:変数[0019:敵弾壁確認:移動量]がV[0002]以上
 ◆イベント処理の中断
 ◆
:分岐終了
◆変数の操作:[0015:敵弾壁確認:位置X]加算,変数[0017]の値
◆変数の操作:[0016:敵弾壁確認:位置Y]加算,変数[0018]の値
◆変数の操作:[0011:敵弾:当たり確認X]代入,変数[0015]の値
◆変数の操作:[0012:敵弾:当たり確認Y]代入,変数[0016]の値
◆変数の操作:[0011:敵弾:当たり確認X]減算,主人公の画面X
◆変数の操作:[0012:敵弾:当たり確認Y]減算,主人公の画面Y
◆変数の操作:[0012:敵弾:当たり確認Y]加算,8
◆変数の操作:[0011〜0012]除算,8
◆条件分岐:変数[0011:敵弾:当たり確認X]が0
 ◆条件分岐:変数[0012:敵弾:当たり確認Y]が0
  ◆イベント処理の中断
  ◆
 :分岐終了
 ◆
:分岐終了
◆変数の操作:[0005:X座標]代入,変数[0015]の値
◆変数の操作:[0006:Y座標]代入,変数[0016]の値
◆変数の操作:[0005:X座標]加算,変数[0169]の値
◆変数の操作:[0006:Y座標]加算,変数[0170]の値

◆変数の操作:[0005〜0006]除算,16
◆指定位置の地形ID取得:(V[0005],V[0006]),[0007:ID]
◆条件分岐:変数[0007:ID]が2
 ◆イベント処理の中断
 ◆
:分岐終了

◆注釈:------------------------------<上の設定をコピー
:  :▼01
:  : 

◆変数の操作:[0019:敵弾壁確認:移動量]加算,1
◆条件分岐:変数[0019:敵弾壁確認:移動量]がV[0002]以上
 ◆イベント処理の中断
 ◆
:分岐終了
◆変数の操作:[0015:敵弾壁確認:位置X]加算,変数[0017]の値
◆変数の操作:[0016:敵弾壁確認:位置Y]加算,変数[0018]の値
◆変数の操作:[0011:敵弾:当たり確認X]代入,変数[0015]の値
◆変数の操作:[0012:敵弾:当たり確認Y]代入,変数[0016]の値
◆変数の操作:[0011:敵弾:当たり確認X]減算,主人公の画面X
◆変数の操作:[0012:敵弾:当たり確認Y]減算,主人公の画面Y
◆変数の操作:[0012:敵弾:当たり確認Y]加算,8
◆変数の操作:[0011〜0012]除算,8
◆条件分岐:変数[0011:敵弾:当たり確認X]が0
 ◆条件分岐:変数[0012:敵弾:当たり確認Y]が0
  ◆イベント処理の中断
  ◆
 :分岐終了
 ◆
:分岐終了
◆変数の操作:[0005:X座標]代入,変数[0015]の値
◆変数の操作:[0006:Y座標]代入,変数[0016]の値
◆変数の操作:[0005:X座標]加算,変数[0169]の値
◆変数の操作:[0006:Y座標]加算,変数[0170]の値

◆変数の操作:[0005〜0006]除算,16
◆指定位置の地形ID取得:(V[0005],V[0006]),[0007:ID]
◆条件分岐:変数[0007:ID]が2
 ◆イベント処理の中断
 ◆
:分岐終了




あとは注釈:01の設定をコピーして、すぐ下に貼り付け…を繰り返し、
注釈:20まで作成してください。


*注意*
コモンイベント「敵弾:壁の確認」の設定では、
同じ処理を繰り返しに設定していますが、この処理を、
イベントコマンド:ラベルの設定や、
イベントコマンド:繰り返し処理を使って、
ループさせるような設定行わないようにしてください。
ループ処理にしますと処理落ちの原因になります。



☆初期設定
マップイベント「初期設定」スイッチをOFFにする設定を追加します。
※一応敵キャラ2体分と言う事で、スイッチ0041〜0042番の設定になっています。

■マップイベント「初期設定」
▼1ページ目
イベント出現条件:なし
イベント開始条件:自動的に始まる
◆ピクチャーの表示:1,dan(160,120)
◆ピクチャーの表示:2,dan(160,120)
◆ピクチャーの表示:3,dan(160,120)
◆スイッチの操作:[0041〜0042]をOFFにする
◆変数の操作:[0008:1ページ目]代入,1
◆変数の操作:[0009:最小敵イベントID]代入,2
◆変数の操作:[0101〜0102]代入,0
◆変数の操作:[0201〜0212]代入,0
◆スイッチの操作:[0001:システム起動]をONにする


▼2ページ目
*追加・変更はありません。



☆監視イベントを追加
敵の監視イベントは、
マップイベント「初期設定」の2ページ目に設定してください。
※マップイベント「初期設定」の2ページ目に主人公の弾丸処理がある場合は、
 主人公の弾丸処理と一緒に設定するか、
 または新しいマップイベントで設定してください。
 マップイベント「敵弾丸処理」がある場合は、
 その中に一緒に設定しても問題ありません。


なお、新しいマップイベントとして設定する場合は、
このマップイベント「監視イベント」イベントIDは、
敵キャラのイベントIDよりも小さいイベントIDにしてください。
イベントID:0001:初期設定
イベントID:0002:敵キャラ01
イベントID:0003:敵キャラ02
イベントID:0004:
監視イベント
などとなった場合は、
イベントID:0001:初期設定
イベントID:0002:監視イベント
イベントID:0003:敵キャラ01
イベントID:0004:敵キャラ02

と順番を並び替えてください。
【イベントIDを揃える手順を見る】

今回の設定例では新規マップイベントとして設定しています。

並び替えによって敵の最小イベントIDが変わった場合は、
マップイベント「初期設定」の1ページ目の、
◆変数の操作:[0009:最小敵イベントID]代入,3
などの設定変更をお忘れなく!


下記設定例には「〜あとで設定〜」と言う部分があります。
この部分は「どのような視野を持っているのか」によって設定方法が変わります。
詳しくは☆視野イベントを追加の中で説明しますので、
取りあえず「〜あとで設定〜」と書かれた以外の所を先に設定してください。

敵視野02の設定は、敵視野01の設定をコピーした物修正して設定します。

■マップイベント「監視イベント」
イベント出現条件:スイッチ[0001:システム起動]がON
イベント開始条件:定期的に並列処理する
◆ラベルの設定:1番
◆変数の操作:[0201〜0210]代入,主人公のX座標
◆変数の操作:[0211〜0220]代入,主人公のY座標
◆変数の操作:[0201:敵弾:両者の距離X01]減算,敵キャラ01のX座標
◆変数の操作:[0211:敵弾:両者の距離Y01]減算,敵キャラ01のY座標
◆変数の操作:[0202:敵弾:両者の距離X02]減算,敵キャラ02のX座標
◆変数の操作:[0212:敵弾:両者の距離Y02]減算,敵キャラ02のY座標
◆注釈:------------------------------------------------------------
:  :弾丸発射
:  : 

◆条件分岐:変数[0101:敵ダメージ01]が10より小さい<まだ敵01が生きている時
 ◆〜あとで設定〜
 ◆注釈:------------------------------
 :  :▼壁を確認
 :  : 

 ◆変数の操作:[0015:敵弾壁確認:位置X]代入,敵キャラ01の画面X
 ◆変数の操作:[0016:敵弾壁確認:位置Y]代入,敵キャラ01の画面Y
 ◆変数の操作:[0016:敵弾壁確認:位置Y]加算,8
 ◆変数の操作:[0017:敵弾壁確認:移動X±]代入,変数[0003]の値
 ◆変数の操作:[0018:敵弾壁確認:移動Y±]代入,変数[0004]の値
 ◆変数の操作:[0002:移動距離]代入,20
 ◆イベントの呼び出し:敵弾:壁確認
 ◆条件分岐:変数[0007:ID]が2
  ◆指定ラベルへ飛ぶ:10番
  ◆
 :分岐終了
 ◆スイッチの操作:[0041:主人公に近づく:敵01]をONにする
 ◆ラベルの設定:10番
 ◆
:分岐終了
◆条件分岐:変数[0102:敵ダメージ02]が10より小さい<敵01の設定をコピー
 ◆〜あとで設定〜
 ◆注釈:------------------------------
 :  :▼壁を確認
 :  : 

 ◆変数の操作:[0015:敵弾壁確認:位置X]代入,敵キャラ02の画面X
 ◆変数の操作:[0016:敵弾壁確認:位置Y]代入,敵キャラ02の画面Y
 ◆変数の操作:[0016:敵弾壁確認:位置Y]加算,8
 ◆変数の操作:[0017:敵弾壁確認:移動X±]代入,変数[0003]の値
 ◆変数の操作:[0018:敵弾壁確認:移動Y±]代入,変数[0004]の値
 ◆変数の操作:[0002:移動距離]代入,20
 ◆イベントの呼び出し:敵弾:壁確認
 ◆条件分岐:変数[0007:ID]が2
  ◆指定ラベルへ飛ぶ:11
  ◆
 :分岐終了
 ◆注釈:------------------------------
 :  :▼壁を確認
 :  : 

 ◆スイッチの操作:[0042:主人公に近づく:敵02]をONにする
 ◆ラベルの設定:11
 ◆
:分岐終了

◆ウェイト:0.0秒
◆指定ラベルへ飛ぶ:1番




☆敵視野イベントを追加
〜あとで設定〜」としていた部分に、主人公を探す視野イベントを追加設定します。
追加するイベントは、視野範囲によって設定方法が異なります。

▼画像をクリックするとその設定例が書いてある所にジャンプします。
直線状 四角 扇形
正面に真っ直ぐと見る 正面5マス以内&左右2マス以内で見る 扇形に正面5マス以内で見る


  
■正面に真っ直ぐと見る
敵が向いている方向の直線状(5マス以内)に主人公がいるかどうかを調べます。

▼視野範囲(下向きの場合)


■マップイベント「監視イベント」
イベント出現条件:スイッチ[0001:システム起動]がON
イベント開始条件:定期的に並列処理する
◆ラベルの設定:1番
◆変数の操作:[0201〜0210]代入,主人公のX座標
◆変数の操作:[0211〜0220]代入,主人公のY座標
◆変数の操作:[0201:敵弾:両者の距離X01]減算,敵キャラ01のX座標
◆変数の操作:[0211:敵弾:両者の距離Y01]減算,敵キャラ01のY座標
◆変数の操作:[0202:敵弾:両者の距離X02]減算,敵キャラ02のX座標
◆変数の操作:[0212:敵弾:両者の距離Y02]減算,敵キャラ02のY座標
◆注釈:------------------------------------------------------------
:  :監視処理
:  : 

◆条件分岐:変数[0101:敵ダメージ01]が10より小さい
 ◆変数の操作:[0003〜0004]代入,0
 ◆条件分岐:敵キャラ01が左を向いている
  ◆条件分岐:変数[0211:敵弾:両者の距離Y01]が0以外<横の直線状ではない時
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆条件分岐:変数[0201:敵弾:両者の距離X01]が1以上<敵の後ろに主人公がいる時
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆条件分岐:変数[0201:敵弾:両者の距離X01]が-6以下<主人公が射程外にいる時
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆変数の操作:[0003:X±]代入,-4
  ◆
 :分岐終了
 ◆条件分岐:敵キャラ01が右を向いている
  ◆条件分岐:変数[0211:敵弾:両者の距離Y01]が0以外<横の直線状ではない時
  ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆条件分岐:変数[0201:敵弾:両者の距離X01]が-1以下<敵の後ろに主人公がいる時
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆条件分岐:変数[0201:敵弾:両者の距離X01]が6以上<主人公が射程外にいる時
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆変数の操作:[0003:X±]代入,4
  ◆
 :分岐終了
 ◆条件分岐:敵キャラ01が上を向いている
  ◆条件分岐:変数[0201:敵弾:両者の距離X01]が0以外<縦の直線状ではない時
    ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆条件分岐:変数[0211:敵弾:両者の距離Y01]が1以上<敵の後ろに主人公がいる時
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆条件分岐:変数[0211:敵弾:両者の距離Y01]が-6以下<主人公が射程外にいる時
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆変数の操作:[0004:Y±]代入,-4
  ◆
 :分岐終了
 ◆条件分岐:敵キャラ01が下を向いている
  ◆条件分岐:変数[0201:敵弾:両者の距離X01]が0以外<縦の直線状ではない時
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆条件分岐:変数[0211:敵弾:両者の距離Y01]が-1以下<敵の後ろに主人公がいる時
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆条件分岐:変数[0211:敵弾:両者の距離Y01]が6以上<主人公が射程外にいる時
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆変数の操作:[0004:Y±]代入,4
  ◆
 :分岐終了
 ◆注釈:------------------------------
 :  :▼壁を確認
 :  : 
 ◆変数の操作:[0015:敵弾壁確認:位置X]代入,敵キャラ01の画面X
 ◆変数の操作:[0016:敵弾壁確認:位置Y]代入,敵キャラ01の画面Y
 ◆変数の操作:[0016:敵弾壁確認:位置Y]加算,8
 ◆変数の操作:[0017:敵弾壁確認:移動X±]代入,変数[0003]の値
 ◆変数の操作:[0018:敵弾壁確認:移動Y±]代入,変数[0004]の値
 ◆変数の操作:[0002:移動距離]代入,20
 ◆イベントの呼び出し:敵弾:壁確認
 ◆条件分岐:変数[0007:ID]が2
  ◆指定ラベルへ飛ぶ:10番
  ◆
 :分岐終了
 ◆スイッチの操作:[0041:主人公に近づく:敵01]をONにする
 ◆ラベルの設定:10番
 ◆
:分岐終了
◆条件分岐:変数[0102:敵ダメージ02]が10より小さい
 ◆変数の操作:[0003〜0004]代入,0<敵01の設定をコピーして修正
 ◆条件分岐:敵キャラ02が左を向いている
  ◆条件分岐:変数[0212:敵弾:両者の距離Y02]が0以外
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆条件分岐:変数[0202:敵弾:両者の距離X02]が1以上
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆条件分岐:変数[0202:敵弾:両者の距離X02]が-6以下
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆変数の操作:[0003:X±]代入,-4
  ◆
 :分岐終了
 ◆条件分岐:敵キャラ02が右を向いている
  ◆条件分岐:変数[0212:敵弾:両者の距離Y02]が0以外
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆条件分岐:変数[0202:敵弾:両者の距離X02]が-1以下
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆条件分岐:変数[0202:敵弾:両者の距離X02]が6以上
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆変数の操作:[0003:X±]代入,4
  ◆
 :分岐終了
 ◆条件分岐:敵キャラ02が上を向いている
  ◆条件分岐:変数[0202:敵弾:両者の距離X02]が0以外
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆条件分岐:変数[0212:敵弾:両者の距離Y02]が1以上
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆条件分岐:変数[0212:敵弾:両者の距離Y02]が-6以下
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆変数の操作:[0004:Y±]代入,-4
  ◆
 :分岐終了
 ◆条件分岐:敵キャラ02が下を向いている
  ◆条件分岐:変数[0202:敵弾:両者の距離X02]が0以外
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆条件分岐:変数[0212:敵弾:両者の距離Y02]が-1以下
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆条件分岐:変数[0212:敵弾:両者の距離Y02]が6以上
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆変数の操作:[0004:Y±]代入,4
  ◆
 :分岐終了
 ◆注釈:------------------------------
 :  :▼壁を確認
 :  : 
 ◆変数の操作:[0015:敵弾壁確認:位置X]代入,敵キャラ02の画面X
 ◆変数の操作:[0016:敵弾壁確認:位置Y]代入,敵キャラ02の画面Y
 ◆変数の操作:[0016:敵弾壁確認:位置Y]加算,8
 ◆変数の操作:[0017:敵弾壁確認:移動X±]代入,変数[0003]の値
 ◆変数の操作:[0018:敵弾壁確認:移動Y±]代入,変数[0004]の値
 ◆変数の操作:[0002:移動距離]代入,20
 ◆イベントの呼び出し:敵弾:壁確認
 ◆条件分岐:変数[0007:ID]が2
  ◆指定ラベルへ飛ぶ:11番
  ◆
 :分岐終了
 ◆スイッチの操作:[0042:主人公に近づく:敵02]をONにする
 ◆ラベルの設定:11番
 ◆
:分岐終了
◆ウェイト:0.0秒
◆指定ラベルへ飛ぶ:1番


▼敵の設定が書いてある所まで移動


  
■正面5マス以内&左右2マス以内で見る
正面5マス以内&左右2マス以内に主人公がいるかどうかを調べます。

▼視野範囲(下向きの場合)


設定の中に、
◆変数の操作:[0201:敵弾:両者の距離X01]除算,6
◆変数の操作:[0211:敵弾:両者の距離Y01]除算,3

などの設定があります。
この設定は視野範囲決める処理になります。
除算6」の場合は、
両者の距離が5マス以内→主人公が見える
両者の距離が5マス以上→主人公が見えない
となります。

■マップイベント「監視イベント」
イベント出現条件:スイッチ[0001:システム起動]がON
イベント開始条件:定期的に並列処理する
◆ラベルの設定:1番
◆変数の操作:[0201〜0210]代入,主人公のX座標
◆変数の操作:[0211〜0220]代入,主人公のY座標
◆変数の操作:[0201:敵弾:両者の距離X01]減算,敵キャラ01のX座標
◆変数の操作:[0211:敵弾:両者の距離Y01]減算,敵キャラ01のY座標
◆変数の操作:[0202:敵弾:両者の距離X02]減算,敵キャラ02のX座標
◆変数の操作:[0212:敵弾:両者の距離Y02]減算,敵キャラ02のY座標
◆注釈:------------------------------------------------------------
:  :監視処理
:  : 

◆条件分岐:変数[0101:敵ダメージ01]が10より小さい
 ◆条件分岐:敵キャラ01が左を向いている
  ◆変数の操作:[0201:敵弾:両者の距離X01]除算,6
  ◆変数の操作:[0211:敵弾:両者の距離Y01]除算,3
  ◆
 :分岐終了
 ◆条件分岐:敵キャラ01が右を向いている
  ◆変数の操作:[0201:敵弾:両者の距離X01]除算,6
  ◆変数の操作:[0211:敵弾:両者の距離Y01]除算,3
  ◆
 :分岐終了
 ◆条件分岐:敵キャラ01が上を向いている
  ◆変数の操作:[0201:敵弾:両者の距離X01]除算,3
  ◆変数の操作:[0211:敵弾:両者の距離Y01]除算,6
  ◆
 :分岐終了
 ◆条件分岐:敵キャラ01が下を向いている
  ◆変数の操作:[0201:敵弾:両者の距離X01]除算,3
  ◆変数の操作:[0211:敵弾:両者の距離Y01]除算,6
  ◆
 :分岐終了
 ◆条件分岐:変数[0201:敵弾:両者の距離X01]が0以外
  ◆指定ラベルへ飛ぶ:10番
  ◆
 :分岐終了
 ◆条件分岐:変数[0211:敵弾:両者の距離Y01]が0以外
  ◆指定ラベルへ飛ぶ:10番
  ◆
 :分岐終了
 ◆注釈:------------------------------
 :  :▼移動方向の設定準備
 :  : 

 ◆変数の操作:[0003:X±]代入,主人公のX座標
 ◆変数の操作:[0004:Y±]代入,主人公のY座標
 ◆変数の操作:[0003:X±]減算,敵キャラ01のX座標
 ◆変数の操作:[0004:Y±]減算,敵キャラ01のY座標
  ◆変数の操作:[0013〜0014]代入,1
  ◆条件分岐:変数[0003:X±]が-1以下
  ◆変数の操作:[0003:X±]乗算,-1
  ◆変数の操作:[0013:敵弾:Xの±状態記憶]代入,-1
  ◆
 :分岐終了
 ◆条件分岐:変数[0004:Y±]が-1以下
  ◆変数の操作:[0004:Y±]乗算,-1
  ◆変数の操作:[0014:敵弾:Yの±状態記憶]代入,-1
  ◆
 :分岐終了
 ◆注釈:------------------------------
 :  :▼移動方向を設定
 :  : 

 ◆条件分岐:変数[0003:X±]がV[0004]以上(オプション:ON)
  ◆変数の操作:[0004:Y±]乗算,8
  ◆変数の操作:[0004:Y±]除算,変数[0003]の値
  ◆変数の操作:[0004:Y±]加算,1
  ◆変数の操作:[0004:Y±]除算,2
  ◆変数の操作:[0003:X±]代入,4
  ◆
 :それ以外の場合
  ◆変数の操作:[0003:X±]乗算,8
  ◆変数の操作:[0003:X±]除算,変数[0004]の値
  ◆変数の操作:[0003:X±]加算,1
  ◆変数の操作:[0003:X±]除算,2
  ◆変数の操作:[0004:Y±]代入,4
  ◆
 :分岐終了
 ◆変数の操作:[0003:X±]乗算,変数[0013]の値
 ◆変数の操作:[0004:Y±]乗算,変数[0014]の値

 ◆注釈:------------------------------
 :  :▼壁を確認
 :  : 

 ◆変数の操作:[0015:敵弾壁確認:位置X]代入,敵キャラ01の画面X
 ◆変数の操作:[0016:敵弾壁確認:位置Y]代入,敵キャラ01の画面Y
 ◆変数の操作:[0016:敵弾壁確認:位置Y]加算,8
 ◆変数の操作:[0017:敵弾壁確認:移動X±]代入,変数[0003]の値
 ◆変数の操作:[0018:敵弾壁確認:移動Y±]代入,変数[0004]の値
 ◆変数の操作:[0002:移動距離]代入,20
 ◆イベントの呼び出し:敵弾:壁確認
 ◆条件分岐:変数[0007:ID]が2
  ◆指定ラベルへ飛ぶ:10番
  ◆
 :分岐終了
 ◆スイッチの操作:[0041:主人公に近づく:敵01]をONにする
 ◆ラベルの設定:10番
 ◆
:分岐終了
◆条件分岐:変数[0102:敵ダメージ02]が10より小さい
 ◆条件分岐:敵キャラ02が左を向いている<敵01の設定をコピーして修正
  ◆変数の操作:[0202:敵弾:両者の距離X02]除算,6
  ◆変数の操作:[0212:敵弾:両者の距離Y02]除算,3
  ◆
 :分岐終了
 ◆条件分岐:敵キャラ02が右を向いている
  ◆変数の操作:[0202:敵弾:両者の距離X02]除算,6
  ◆変数の操作:[0212:敵弾:両者の距離Y02]除算,3
  ◆
 :分岐終了
 ◆条件分岐:敵キャラ02が上を向いている
  ◆変数の操作:[0202:敵弾:両者の距離X02]除算,3
  ◆変数の操作:[0212:敵弾:両者の距離Y02]除算,6
  ◆
 :分岐終了
 ◆条件分岐:敵キャラ02が下を向いている
  ◆変数の操作:[0202:敵弾:両者の距離X02]除算,3
  ◆変数の操作:[0212:敵弾:両者の距離Y02]除算,6
  ◆
 :分岐終了
 ◆条件分岐:変数[0202:敵弾:両者の距離X02]が0以外
  ◆指定ラベルへ飛ぶ:11
  ◆
 :分岐終了
 ◆条件分岐:変数[0202:敵弾:両者の距離X02]が0以外
  ◆指定ラベルへ飛ぶ:11
  ◆
 :分岐終了
 ◆注釈:------------------------------
 :  :▼移動方向の設定準備
 :  : 

 ◆変数の操作:[0003:X±]代入,主人公のX座標
 ◆変数の操作:[0004:Y±]代入,主人公のY座標
 ◆変数の操作:[0003:X±]減算,敵キャラ02のX座標
 ◆変数の操作:[0004:Y±]減算,敵キャラ02のY座標
 ◆変数の操作:[0013〜0014]代入,1
 ◆条件分岐:変数[0003:X±]が-1以下
  ◆変数の操作:[0003:X±]乗算,-1
  ◆変数の操作:[0013:敵弾:Xの±状態記憶]代入,-1
  ◆
 :分岐終了
 ◆条件分岐:変数[0004:Y±]が-1以下
  ◆変数の操作:[0004:Y±]乗算,-1
  ◆変数の操作:[0014:敵弾:Yの±状態記憶]代入,-1
  ◆
 :分岐終了
 ◆注釈:------------------------------
 :  :▼移動方向を設定
 :  : 

 ◆条件分岐:変数[0003:X±]がV[0004]以上(オプション:ON)
  ◆変数の操作:[0004:Y±]乗算,8
  ◆変数の操作:[0004:Y±]除算,変数[0003]の値
  ◆変数の操作:[0004:Y±]加算,1
  ◆変数の操作:[0004:Y±]除算,2
  ◆変数の操作:[0003:X±]代入,4
  ◆
 :それ以外の場合
  ◆変数の操作:[0003:X±]乗算,8
  ◆変数の操作:[0003:X±]除算,変数[0004]の値
  ◆変数の操作:[0003:X±]加算,1
  ◆変数の操作:[0003:X±]除算,2
  ◆変数の操作:[0004:Y±]代入,4
  ◆
 :分岐終了
 ◆変数の操作:[0003:X±]乗算,変数[0013]の値
 ◆変数の操作:[0004:Y±]乗算,変数[0014]の値
 ◆注釈:------------------------------
 :  :▼壁を確認
 :  : 

 ◆変数の操作:[0015:敵弾壁確認:位置X]代入,敵キャラ02の画面X
 ◆変数の操作:[0016:敵弾壁確認:位置Y]代入,敵キャラ02の画面Y
 ◆変数の操作:[0016:敵弾壁確認:位置Y]加算,8
 ◆変数の操作:[0017:敵弾壁確認:移動X±]代入,変数[0003]の値
 ◆変数の操作:[0018:敵弾壁確認:移動Y±]代入,変数[0004]の値
 ◆変数の操作:[0002:移動距離]代入,20
 ◆イベントの呼び出し:敵弾:壁確認
 ◆条件分岐:変数[0007:ID]が2
  ◆指定ラベルへ飛ぶ:11番
  ◆
 :分岐終了
 ◆スイッチの操作:[0042:主人公に近づく:敵02]をONにする
 ◆ラベルの設定:11番
 ◆
:分岐終了
◆ウェイト:0.0秒
◆指定ラベルへ飛ぶ:1番


▼敵の設定が書いてある所まで移動


  
■扇形に正面5マス以内で見る
扇形に正面5マス以内に主人公がいるかどうかを調べます。

▼攻撃範囲(下向きの場合)


■マップイベント「監視イベント」
イベント出現条件:スイッチ[0001:システム起動]がON
イベント開始条件:定期的に並列処理する
◆ラベルの設定:1番
◆変数の操作:[0201〜0210]代入,主人公のX座標
◆変数の操作:[0211〜0220]代入,主人公のY座標
◆変数の操作:[0201:敵弾:両者の距離X01]減算,敵キャラ01のX座標
◆変数の操作:[0211:敵弾:両者の距離Y01]減算,敵キャラ01のY座標
◆変数の操作:[0202:敵弾:両者の距離X02]減算,敵キャラ02のX座標
◆変数の操作:[0212:敵弾:両者の距離Y02]減算,敵キャラ02のY座標
◆注釈:------------------------------------------------------------
:  :監視処理
:  : 

◆条件分岐:変数[0101:敵ダメージ01]が10より小さい
 ◆条件分岐:敵キャラ01が左を向いている
  ◆条件分岐:変数[0201:敵弾:両者の距離X01]が1以上
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆条件分岐:変数[0201:敵弾:両者の距離X01]が-6以下
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆変数の操作:[0201:敵弾:両者の距離X01]乗算,-1
  ◆変数の操作:[0201:敵弾:両者の距離X01]加算,1
  ◆変数の操作:[0211:敵弾:両者の距離Y01]除算,変数[0201]の値
  ◆条件分岐:変数[0211:敵弾:両者の距離Y01]が0以外
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆条件分岐:敵キャラ01が右を向いている
  ◆条件分岐:変数[0201:敵弾:両者の距離X01]が-1以下
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆条件分岐:変数[0201:敵弾:両者の距離X01]が6以上
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆変数の操作:[0201:敵弾:両者の距離X01]加算,1
  ◆変数の操作:[0211:敵弾:両者の距離Y01]除算,変数[0201]の値
  ◆条件分岐:変数[0211:敵弾:両者の距離Y01]が0以外
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆条件分岐:敵キャラ01が上を向いている
  ◆条件分岐:変数[0211:敵弾:両者の距離Y01]が1以上
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆条件分岐:変数[0211:敵弾:両者の距離Y01]が-6以下
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆変数の操作:[0211:敵弾:両者の距離Y01]乗算,-1
  ◆変数の操作:[0211:敵弾:両者の距離Y01]加算,1
  ◆変数の操作:[0201:敵弾:両者の距離X01]除算,変数[0211]の値
  ◆条件分岐:変数[0201:敵弾:両者の距離X01]が0以外
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆条件分岐:敵キャラ01が下を向いている
  ◆条件分岐:変数[0211:敵弾:両者の距離Y01]が-1以下
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆条件分岐:変数[0211:敵弾:両者の距離Y01]が6以上
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆変数の操作:[0211:敵弾:両者の距離Y01]加算,1
  ◆変数の操作:[0201:敵弾:両者の距離X01]除算,変数[0211]の値
  ◆条件分岐:変数[0201:敵弾:両者の距離X01]が0以外
   ◆指定ラベルへ飛ぶ:10番
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆注釈:------------------------------
 :  :▼移動方向の設定準備
 :  : 

 ◆変数の操作:[0003:X±]代入,主人公のX座標
 ◆変数の操作:[0004:Y±]代入,主人公のY座標
 ◆変数の操作:[0003:X±]減算,敵キャラ01のX座標
 ◆変数の操作:[0004:Y±]減算,敵キャラ01のY座標
 ◆変数の操作:[0013〜0014]代入,1
 ◆条件分岐:変数[0003:X±]が-1以下<X座標の距離がマイナス値の時
  ◆変数の操作:[0003:X±]乗算,-1
  ◆変数の操作:[0013:敵弾:Xの±状態記憶]代入,-1
  ◆
 :分岐終了
 ◆条件分岐:変数[0004:Y±]が-1以下<Y座標の距離がマイナス値の時
  ◆変数の操作:[0004:Y±]乗算,-1
  ◆変数の操作:[0014:敵弾:Yの±状態記憶]代入,-1
  ◆
 :分岐終了
 ◆注釈:------------------------------
 :  :▼移動方向を設定
 :  : 

 ◆条件分岐:変数[0003:X±]がV[0004]以上(オプション:ON)<X座標の方が大きい時、または同値
  ◆変数の操作:[0004:Y±]乗算,8
  ◆変数の操作:[0004:Y±]除算,変数[0003]の値
  ◆変数の操作:[0004:Y±]加算,1
  ◆変数の操作:[0004:Y±]除算,2
  ◆変数の操作:[0003:X±]代入,4
  ◆
 :それ以外の場合<X座標の方が小さい時
  ◆変数の操作:[0003:X±]乗算,8
  ◆変数の操作:[0003:X±]除算,変数[0004]の値
  ◆変数の操作:[0003:X±]加算,1
  ◆変数の操作:[0003:X±]除算,2
  ◆変数の操作:[0004:Y±]代入,4
  ◆
 :分岐終了
 ◆変数の操作:[0003:X±]乗算,変数[0013]の値<マイナス値だった場合はマイナス値にする
 ◆変数の操作:[0004:Y±]乗算,変数[0014]の値<マイナス値だった場合はマイナス値にする
 ◆注釈:------------------------------
 :  :▼壁を確認
 :  : 

 ◆変数の操作:[0015:敵弾壁確認:位置X]代入,敵キャラ01の画面X
 ◆変数の操作:[0016:敵弾壁確認:位置Y]代入,敵キャラ01の画面Y
 ◆変数の操作:[0016:敵弾壁確認:位置Y]加算,8
 ◆変数の操作:[0017:敵弾壁確認:移動X±]代入,変数[0003]の値
 ◆変数の操作:[0018:敵弾壁確認:移動Y±]代入,変数[0004]の値
 ◆変数の操作:[0002:移動距離]代入,20
 ◆イベントの呼び出し:敵弾:壁確認
 ◆条件分岐:変数[0007:ID]が2
  ◆指定ラベルへ飛ぶ:10番
  ◆
 :分岐終了
 ◆スイッチの操作:[0041:主人公に近づく:敵01]をONにする
 ◆ラベルの設定:10番
 ◆
:分岐終了
◆条件分岐:変数[0102:敵ダメージ02]が10より小さい
 ◆条件分岐:敵キャラ02が左を向いている<敵01の設定をコピーして修正
  ◆条件分岐:変数[0202:敵弾:両者の距離X02]が1以上
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆条件分岐:変数[0202:敵弾:両者の距離X02]が-6以下
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆変数の操作:[0202:敵弾:両者の距離X02]乗算,-1
  ◆変数の操作:[0202:敵弾:両者の距離X02]加算,1
  ◆変数の操作:[0212:敵弾:両者の距離Y02]除算,変数[0202]の値
  ◆条件分岐:変数[0212:敵弾:両者の距離Y02]が0以外
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆条件分岐:敵キャラ02が右を向いている
  ◆条件分岐:変数[0202:敵弾:両者の距離X02]が-1以下
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆条件分岐:変数[0202:敵弾:両者の距離X02]が6以上
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆変数の操作:[0202:敵弾:両者の距離X02]加算,1
  ◆変数の操作:[0212:敵弾:両者の距離Y02]除算,変数[0202]の値
  ◆条件分岐:変数[0212:敵弾:両者の距離Y02]が0以外
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆条件分岐:敵キャラ02が上を向いている
  ◆条件分岐:変数[0212:敵弾:両者の距離Y02]が1以上
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆条件分岐:変数[0212:敵弾:両者の距離Y02]が-6以下
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆変数の操作:[0212:敵弾:両者の距離Y02]乗算,-1
  ◆変数の操作:[0212:敵弾:両者の距離Y02]加算,1
  ◆変数の操作:[0202:敵弾:両者の距離X02]除算,変数[0212]の値
  ◆条件分岐:変数[0202:敵弾:両者の距離X02]が0以外
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆条件分岐:敵キャラ02が下を向いている
  ◆条件分岐:変数[0212:敵弾:両者の距離Y02]が-1以下
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆条件分岐:変数[0212:敵弾:両者の距離Y02]が6以上
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆変数の操作:[0212:敵弾:両者の距離Y02]加算,1
  ◆変数の操作:[0202:敵弾:両者の距離X02]除算,変数[0212]の値
  ◆条件分岐:変数[0202:敵弾:両者の距離X02]が0以外
   ◆指定ラベルへ飛ぶ:11
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆注釈:------------------------------
 :  :▼移動方向の設定準備
 :  : 

 ◆変数の操作:[0003:X±]代入,主人公のX座標
 ◆変数の操作:[0004:Y±]代入,主人公のY座標
 ◆変数の操作:[0003:X±]減算,敵キャラ02のX座標
 ◆変数の操作:[0004:Y±]減算,敵キャラ02のY座標
 ◆変数の操作:[0013〜0014]代入,1
 ◆条件分岐:変数[0003:X±]が-1以下
  ◆変数の操作:[0003:X±]乗算,-1
  ◆変数の操作:[0013:敵弾:Xの±状態記憶]代入,-1
  ◆
 :分岐終了
 ◆条件分岐:変数[0004:Y±]が-1以下
  ◆変数の操作:[0004:Y±]乗算,-1
  ◆変数の操作:[0014:敵弾:Yの±状態記憶]代入,-1
  ◆
 :分岐終了
 ◆注釈:------------------------------
 :  :▼移動方向を設定
 :  : 

 ◆条件分岐:変数[0003:X±]がV[0004]以上(オプション:ON)
  ◆変数の操作:[0004:Y±]乗算,8
  ◆変数の操作:[0004:Y±]除算,変数[0003]の値
  ◆変数の操作:[0004:Y±]加算,1
  ◆変数の操作:[0004:Y±]除算,2
  ◆変数の操作:[0003:X±]代入,4
  ◆
 :それ以外の場合
  ◆変数の操作:[0003:X±]乗算,8
  ◆変数の操作:[0003:X±]除算,変数[0004]の値
  ◆変数の操作:[0003:X±]加算,1
  ◆変数の操作:[0003:X±]除算,2
  ◆変数の操作:[0004:Y±]代入,4
  ◆
 :分岐終了
 ◆変数の操作:[0003:X±]乗算,変数[0013]の値
 ◆変数の操作:[0004:Y±]乗算,変数[0014]の値
 ◆注釈:------------------------------
 :  :▼壁を確認
 :  : 

 ◆変数の操作:[0015:敵弾壁確認:位置X]代入,敵キャラ02の画面X
 ◆変数の操作:[0016:敵弾壁確認:位置Y]代入,敵キャラ02の画面Y
 ◆変数の操作:[0016:敵弾壁確認:位置Y]加算,8
 ◆変数の操作:[0017:敵弾壁確認:移動X±]代入,変数[0003]の値
 ◆変数の操作:[0018:敵弾壁確認:移動Y±]代入,変数[0004]の値
 ◆変数の操作:[0002:移動距離]代入,20
 ◆イベントの呼び出し:敵弾:壁確認
 ◆条件分岐:変数[0007:ID]が2
  ◆指定ラベルへ飛ぶ:11番
  ◆
 :分岐終了
 ◆スイッチの操作:[0042:主人公に近づく:敵02]をONにする
 ◆ラベルの設定:11番
 ◆
:分岐終了
◆ウェイト:0.0秒
◆指定ラベルへ飛ぶ:1番



  
☆敵イベントの設定
主人公を見つけたら近づくように設定します。

今回は、敵01の設定を例とし、
スイッチ[0041:主人公に近づく:敵01]がOFF→敵は移動しない
スイッチ[0041:主人公に近づく:敵01]がON →
敵は移動する
と設定します。

マップイベント「敵キャラ01」の設定を行います。
ページの設定は、以下の通りです。
1ページ目=停止している状態(右回転して主人公を探す)
2ページ目=移動している状態(主人公に近寄る/新規ページです)
3ページ目=
消去状態(2ページ目だったページです)

1ページ目の移動タイプでは、移動ルートで右回転を設定していますが、
移動タイプの設定には特に決まりは無く、決められたルートの移動左右に往復
全く動かず移動しないで下向きの固定など、自由に設定する事ができます。

なお、主人公から攻撃を受けた場合は、強制的にスイッチがONになるようにする場合は、
1ページ目のこの色の設定を行ってください。

この色の設定は、敵キャラに直接主人公が触れた時に、
主人公がダメージを受けるようにする場合に必要な設定です。
もしも敵キャラに触れてもダメージが受けない場合は、この色の設定は不要です。

■マップイベント「敵キャラ01」
▼1ページ目
イベント出現条件:なし
イベント開始条件:イベントから触れたとき
グラフィック:敵キャラの歩行グラフィック
移動タイプ:移動ルート指定
移動頻度:※1にすると回転速度が遅くなります。
移動ルートの設定:右に90度回転
◆スイッチの操作:[0041:主人公に近づく:敵01]をONにする<必要ならば設定
◆条件分岐:スイッチ[0003:ダメージ処理]がON
 ◆変数の操作:[0101:敵ダメージ01]加算,1
 ◆条件分岐:変数[0101:敵ダメージ01]が9以下(オプション:ON)
  ◆キャラクターのフラッシュ:このイベント,0.5秒
  ◆効果音の演奏:ダメージ1
  ◆
 :それ以外の場合
  ◆条件分岐:変数[0101:敵ダメージ01]が10
   ◆効果音の演奏:攻撃2
   ◆イベントの位置を設定:このイベント,(000,000)
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:決定キーでこのイベントを開始した
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:変数[0022:無敵時間]が-1以下
 ◆イベント処理の中断
 ◆
:分岐終了
◆変数の操作:[0022:無敵時間]代入,-30
◆キャラクターのフラッシュ:主人公,0.5秒(R31,G00,B00,V31)
◆効果音の演奏:打撃1
◆HPの増減:アレックスのHPを1減らす



▼2ページ目※このページは1ページ目をコピー&貼り付けして作成してください。
イベント出現条件:スイッチ[0041:主人公に近づく:敵01]がON
イベント開始条件:イベントから触れたとき
グラフィック:敵キャラの歩行グラフィック
移動タイプ:主人公に近寄る
◆条件分岐:決定キーでこのイベントを開始した
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:変数[0022:無敵時間]が-1以下
 ◆イベント処理の中断
 ◆
:分岐終了
◆変数の操作:[0022:無敵時間]代入,-30
◆キャラクターのフラッシュ:主人公,0.5秒(R31,G00,B00,V31)
◆効果音の演奏:打撃1
◆HPの増減:アレックスのHPを1減らす


▼3ページ目
イベント出現条件:変数[0101:敵ダメージ01]が10以上
イベント開始条件:決定キーが押されたとき
グラフィック:透明

イベント実行内容には何も設定しません。



ピクチャー弾丸のページ
基礎ページ まずはこのページの設定を行ってください。
当たり判定の処理を追加する 敵キャラなどのマップイベントの当たり判定を追加します。
壁の当たり判定を追加する 弾丸が壁を貫通しないようにします。
画面スクロールに対応させる 固定画面(横20×縦15マス+マップループ無し)では無い場合は、
このページの設定が必要です。
敵も弾丸発射 敵も弾丸を撃つようにします。
※先に当たり判定の処理を追加するを設定してください。
監視イベントを追加 敵の視野内に入ると主人公に近づくようにします。
※先に当たり判定の処理を追加するを設定してください。
 

YADOTトップ  このサイトは何?  気紛れな空間へ戻る  メール