WOLF RPGエディター(ウディタ)/マップイベント【サイトトップへ戻る】
■主人公が近寄ると主人公へ向かってくるマップイベント
(更新:2025/10/18)


マップイベントの接触範囲拡張の範囲内に主人公が入ると、
急に主人公の方へ向かってくるマップイベントの作り方を紹介します。

▼接触範囲拡張の範囲内に入るとマップイベントが主人公に向かって移動

▼接触範囲拡張の範囲外へ出ると、マップイベントはその場で停止、または初期位置へ戻ります

※上図は説明用に接触範囲拡張の範囲を表示しており、実際のゲーム画面では接触範囲拡張の範囲は表示されません。

ショートカット
■設定内容を確認
■追いかけるのをやめるとその場で停止
■追いかけるのをやめると初期位置へ戻る
■別のマップから戻ってきた時に1歩移動してしまう件について

キャライベントの作り方は別ページに記載しています。
【キャライベントの作り方を見る】


  
■設定内容を確認

マップイベントに接触範囲拡張を設定し、接触範囲拡張の範囲内に主人公が入った時に、
主人公に向かってマップイベントが移動するように設定します。

赤枠(接触範囲拡張)の中に主人公が入るとマップイベントが近づいてきます


処理は2ページに分けて、
1ページ目=接触範囲拡張の範囲内に主人公がいるかどうかを調べる→いたら2ページ目を起動
2ページ目=1歩移動
→処理を1ページ目に戻す
と処理します。

このように2ページに分ける事で、マップイベントが1歩移動するごとに、
主人公が接触範囲拡張の範囲外に出たかどうかを調べる事ができ、
主人公が接触範囲拡張の範囲外に出た瞬間に、主人公を追いかけるのをやめる事ができます。



主人公を追いかける設定方法は「主人公に接近」と「自動移動」の2種類があります。

主人公に接近 障害物を避けずにそのまま直進します。
敵をうまく誘導して、
敵を避けながら移動していくパズルゲームのような物を作る場合は、
こちらの設定の方がプレイヤーに分かりやすくて良いでしょう。
自動移動 障害物を避けて移動します。
主人公を追いかける事を目的としている場合は、
こちらの設定の方がしつこく主人公を追いかけて良いでしょう。



同じマップイベントを複数設定したい場合は、
マップイベントを1つ作成したあとにコピー&貼り付けで複製するだけで設定完了となります。
特に複製後に何らかの設定を修正するような作業は必要ありません。


▲トップへ戻る▲


  
■追いかけるのをやめるとその場で停止

マップイベントが主人公を追いかけていて、主人公が接触範囲拡張の範囲外になった時には、
マップイベントはその場で停止させます。

▼範囲外へ出た ▼その場で停止

もしも主人公が接触範囲拡張の範囲外になった時に、マップイベントが初期位置へ戻るようにする場合は、
■追いかけるのをやめると初期位置へ戻るで設定してください。

▼【追いかけるのをやめると初期位置へ戻る】の説明までジャンプする▼



▼1ページ目

前Page方向引継:チェックを入れる
起動条件:イベントと接触
起動条件変数:Self0:セルフ変数0 が 0 と同じ
接触範囲拡張:自由に設定
※移動ルートは自由に設定してください。

【イベントコード表示】
■変数操作: このEvのSelf0 = 10 + 0





▼2ページ目

移動ルート:カスタム
移動速度:3:標準
移動頻度:0:毎フレーム
前Page方向引継:チェックを入れる
起動条件:イベントと接触
起動条件変数:Self0:セルフ変数0 が 10 と同じ

※移動速度を「3:標準」より速くすると、主人公が逃げ切れなくなります。



マップイベントと接触したらマップイベントを消滅させ、
別のマップへ移動して戻って来た時に、マップイベントを復活させる場合は以下のように設定。

【イベントコード表示】
■デバッグ文:接触
■変数操作: このEvのSelf0 = 0 + 0
■イベントの一時消去:このEv (0フレーム)




マップイベントと接触したらマップイベントを消滅させ、
別のマップへ移動して戻って来た時に、マップイベントを復活させない場合は以下のように設定。

【イベントコード表示】
■デバッグ文:接触
■変数操作: このEvのSelf0 = -1 + 0




マップイベントと接触したらダメージを受けるようにして、
マップイベントは消滅させないようにする場合は以下のように設定。

【イベントコード表示】
■デバッグ文:接触
■イベントの挿入[名]: ["○回復・ダメージ処理"] <コモンEv 4> / 1:HPの回復・減少 / -1:パーティ全員 / -1



▼[ルート]の設定
主人公に接近で設定 主人公に接近
変数設定:[動作EvのSelf0] = [0]
自動移動で設定 X:主人公のX座標(マップ),Y:主人公のY座標(マップ) まで自動移動・短 [単純] (一歩のみ)
変数設定:[動作EvのSelf0] = [0]
座標指定は「X=9180000」「Y=9180001」を設定し、
自動移動一歩のみ」にチェックを入れてから「自動移動・短(単純orスマート)」を押してください。

なお、一応「自動移動【大負荷】」の設定も可能ですが、
複数のマップイベント「急に近寄る敵」を設定する場合は、あまりお勧めできません。




以上で設定完了です。


▲トップへ戻る▲


  
■追いかけるのをやめると初期位置へ戻る

マップイベントが主人公を追いかけていて、主人公が接触範囲拡張の範囲外へ出た時には、
マップイベントが初期位置へ戻るように設定します。

▼範囲外へ出た ▼初期位置へ戻る

なお、戻っている途中に主人公が接触範囲拡張の範囲内に入った場合は、再び追いかけるようになります。



マップイベントは3ページで設定します。

1ページ目=初期位置をセルフ変数[1][2]へ保存→2ページ目を起動
2ページ目=接触範囲拡張の範囲内に主人公がいるかどうかを調べる→いたら3ページ目を起動
3ページ目=1歩移動
→処理を2ページ目に戻す

上記の■追いかけるのをやめるとその場で停止とは、セルフ変数の使い方が異なるため、
上記の■追いかけるのをやめるとその場で停止を複製して、
■追いかけるのをやめると初期位置へ戻るに作り変える場合は、セルフ変数の値の設定に注意してください。



▼1ページ目

前Page方向引継:チェックを入れる
起動条件:並列実行
起動条件変数:Self0:セルフ変数0 が 0 と同じ

【イベントコード表示】
■変数操作+: このEvのSelf1 = 呼出マップイベント の X座標(標準)
■変数操作+: このEvのSelf2 = 呼出マップイベント の Y座標(標準)
■変数操作: このEvのSelf0 = 1 + 0





▼2ページ目

移動ルート:カスタム
移動速度:自由に設定(元の位置へ戻る速度)
前Page方向引継:チェックを入れる
起動条件:イベントと接触
起動条件変数:Self0:セルフ変数0 が 1 と同じ
接触範囲拡張:自由に設定

※移動頻度は[ルート]で設定してください。

【イベントコード表示】
■変数操作: このEvのSelf0 = 10 + 0



▼[ルート]の設定
移動頻度を設定 => 0
↓を向く<初期位置へ戻った時の向く方向を設定。
移動頻度を設定 => 3<初期位置へ戻る時の移動頻度を設定。
X:動作EvのSelf1,Y:動作EvのSelf2 まで自動移動・短 [単純] (一歩のみ)
座標指定は「X=1100001」「Y=1100002」を設定し、
自動移動一歩のみ」にチェックを入れてから「自動移動・短(単純orスマート)」を押してください。

なお、一応「自動移動【大負荷】」の設定も可能ですが、
複数のマップイベント「急に近寄る敵」を設定する場合は、あまりお勧めできません。
動作を繰り返す[ループ]」にチェックを入れてください。





▼3ページ目

移動ルート:カスタム
移動速度:3:標準
移動頻度:0:毎フレーム
前Page方向引継:チェックを入れる
起動条件:イベントと接触
起動条件変数:Self0:セルフ変数0 が 10 と同じ

※移動速度を「3:標準」より速くすると、主人公が逃げ切れなくなります。



マップイベントと接触したらマップイベントを消滅させ、
別のマップへ移動して戻って来た時に、マップイベントを復活させる場合は以下のように設定。

【イベントコード表示】
■デバッグ文:接触
■変数操作: このEvのSelf0 = 1 + 0
■イベントの一時消去:このEv (0フレーム)




マップイベントと接触したらマップイベントを消滅させ、
別のマップへ移動して戻って来た時に、マップイベントを復活させない場合は以下のように設定。

【イベントコード表示】
■デバッグ文:接触
■変数操作: このEvのSelf0 = -1 + 0




マップイベントと接触したらダメージを受けるようにして、
マップイベントは消滅させないようにする場合は以下のように設定。

【イベントコード表示】
■デバッグ文:接触
■イベントの挿入[名]: ["○回復・ダメージ処理"] <コモンEv 4> / 1:HPの回復・減少 / -1:パーティ全員 / -1



▼[ルート]の設定
主人公に接近で設定 主人公に接近
変数設定:[動作EvのSelf0] = [1]
自動移動で設定 X:主人公のX座標(マップ),Y:主人公のY座標(マップ) まで自動移動・短 [単純] (一歩のみ)
変数設定:[動作EvのSelf0] = [1]
座標指定は「X=9180000」「Y=9180001」を設定し、
自動移動一歩のみ」にチェックを入れてから「自動移動・短(単純orスマート)」を押してください。

なお、一応「自動移動【大負荷】」の設定も可能ですが、
複数のマップイベント「急に近寄る敵」を設定する場合は、あまりお勧めできません。




以上で設定完了です。


▲トップへ戻る▲


  
■別のマップから戻ってきた時に1歩移動してしまう件について

マップイベントに追いかけられている状態で別のマップへ移動し、
そして元のマップへ戻ってくると、マップイベントが1歩移動してしまいます。

▼追いかけられている状態
▼別マップへ移動
▼元のマップへ戻る

これはマップイベントのセルフ変数[0]が「10」の状態で別のマップへ移動している事が原因です。



もしも気になる場合は、別のマップへ場所移動するマップイベントの中に、
マップイベントのセルフ変数[0]の値を「0以下」にする設定を追加してください。
▼設定例
■変数操作: Ev24のSelf0 上限= 0 + 0
■場所移動:主人公 ▲マップID2[サンプルマップB] X:12 Y:24 [トランジション + 暗転なし]



なお、マップイベントのセルフ変数[0]の値を「0以下」にする設定を「上限= 0」ではなく…
■変数操作: Ev24のSelf0 = 0 + 0
■場所移動:主人公 ▲マップID2[サンプルマップB] X:12 Y:24 [トランジション + 暗転なし]
と設定した場合は…
■デバッグ文:接触
■変数操作: このEvのSelf0 = -1 + 0
と言ったように、マップイベントと接触したら「セルフ変数[0]=-1」にして、
二度とマップイベントが出現しないようにしている状態が「セルフ変数[0]=0(出現する)」になってしまうため、
別のマップから戻ってきた時に、再びマップイベントが復活してしまいます。

そのため、「上限= 0」で設定した方が良いでしょう。


▲トップへ戻る▲



◎関連ページ

◆キャラクターイベントを作る
◆ボスキャラを作る

YADOT-WOLFトップ  気紛れな空間へ戻る  メール