RPGツクール2000/マップイベント【サイトトップへ戻る】
監視イベント
■壁を判断する監視イベント
(更新:2020/06/28)
主人公を監視するマップイベントに、壁を判断する設定を追加します。
このページは続きとなっているページです |
監視イベントの基礎ページをご覧の上でこのページをご覧ください。
なお、基礎ページには、このページの処理を含めたサンプルデータがあります。
【監視イベントの基礎ページを見る】 |
※この色の部分は監視イベントのページにあった部分です。
■地形の準備
壁があるかどうかの判断は、イベントコマンド:指定位置の地形ID取得を使って、
地形IDを読み取って判断します。
データベース「地形」にて、壁の地形と壁ではない地形を用意してください。
今回は…
地形番号 |
設定内容 |
0001 |
平地(壁ではない) |
0002 |
壁 |
|
とします。
データベース「チップセット」の設定を行います。
下層チップの[地形]の設定で、
壁にしたい下層チップは地形番号「2」。
壁ではない下層チップは地形番号「1(2以外の番号)」を設定してください。
以上で地形の準備は完了です。
▲トップへ戻る▲
■スイッチ・変数
スイッチと変数の番号と使用内容の一覧表です。
スイッチ |
番号 |
名前 |
使用内容 |
0001 |
2ページ目起動 |
主人公を見つけた時にスイッチONにして、
2ページ目の「主人公に近寄る」を起動させる時に使用 |
変数 |
番号 |
名前 |
使用内容 |
0001 |
X座標 |
主人公のX座標を取得 |
0002 |
Y座標 |
主人公のY座標を取得 |
0003 |
監視用X座標 |
監視イベントのX座標を取得 |
0004 |
監視用Y座標 |
監視イベントのY座標を取得 |
0005 |
X座標± |
調べるマスを変える時に使用 |
0006 |
Y座標± |
調べるマスを変える時に使用 |
0007 |
地形ID |
地形IDを取得する時に使用 |
|
0011 |
X座標01 |
主人公の向きが上下の時に
主人公の1つ左側のマスを調べる時に使用 |
0012 |
X座標02 |
主人公と同じX座標のマスを調べる時に使用 |
0013 |
X座標03 |
主人公の向きが上下の時に
主人公の1つ右側のマスを調べる時に使用 |
|
0016 |
Y座標01 |
主人公の向きが左右の時に
主人公の1つ上側のマスを調べる時に使用 |
0017 |
Y座標02 |
主人公と同じY座標のマスを調べる時に使用 |
0018 |
Y座標03 |
主人公の向きが左右の時に
主人公の1つ下側のマスを調べる時に使用 |
【スイッチ・変数の一覧表を開く】
▲トップへ戻る▲
■前方4マスの監視イベントに追加
監視イベント(基礎ページ)で紹介している■イベント設定をコンパクトにするに、
壁を判断するイベントを追加します。
▼左向きの時の監視範囲
|
▼この場合は見つかりません
|
▼このような感じで調べます
|
▼壁がある先のマスは調べません
|
■マップイベント「監視イベント」
▼1ページ目
イベント出現条件:なし
イベント開始条件:定期的に並列処理する
◆変数の操作:[0001:主人公X座標]代入,主人公のX座標
◆変数の操作:[0002:主人公Y座標]代入,主人公のY座標
◆変数の操作:[0003:監視用X座標]代入,このイベントのX座標
◆変数の操作:[0004:監視用Y座標]代入,このイベントのY座標
◆変数の操作:[0005〜0006]代入,0
◆条件分岐:このイベントが左を向いている
◆変数の操作:[0005:X座標±]代入,-1
◆
:それ以外の場合
◆条件分岐:このイベントが右を向いている
◆変数の操作:[0005:X座標±]代入,1
◆
:それ以外の場合
◆条件分岐:このイベントが上を向いている
◆変数の操作:[0006:Y座標±]代入,-1
◆
:それ以外の場合
◆変数の操作:[0006:Y座標±]代入,1
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆注釈:1マス目
◆変数の操作:[0003:監視用X座標]加算,変数[0005]の値
◆変数の操作:[0004:監視用Y座標]加算,変数[0006]の値
◆指定位置の地形ID取得:(V[0003],V[0004]),[0011:地形ID]
◆条件分岐:変数[0011:地形ID]が2<1マス目に壁がある
◆イベント処理の中断
◆
:分岐終了
◆条件分岐:変数[0003:監視用X座標]がV[0001]と同値
◆条件分岐:変数[0004:監視用Y座標]がV[0002]と同値
◆スイッチの操作:[0001:2ページ目起動]をONにする
◆イベント処理の中断
◆
:分岐終了
◆
:分岐終了
◆注釈:2マス目
◆変数の操作:[0003:監視用X座標]加算,変数[0005]の値
◆変数の操作:[0004:監視用Y座標]加算,変数[0006]の値
◆指定位置の地形ID取得:(V[0003],V[0004]),[0011:地形ID]
◆条件分岐:変数[0011:地形ID]が2<2マス目に壁がある
◆イベント処理の中断
◆
:分岐終了
◆条件分岐:変数[0003:監視用X座標]がV[0001]と同値
◆条件分岐:変数[0004:監視用Y座標]がV[0002]と同値
◆スイッチの操作:[0001:2ページ目起動]をONにする
◆イベント処理の中断
◆
:分岐終了
◆
:分岐終了
◆注釈:3マス目
◆変数の操作:[0003:監視用X座標]加算,変数[0005]の値
◆変数の操作:[0004:監視用Y座標]加算,変数[0006]の値
◆指定位置の地形ID取得:(V[0003],V[0004]),[0011:地形ID]
◆条件分岐:変数[0011:地形ID]が2<3マス目に壁がある
◆イベント処理の中断
◆
:分岐終了
◆条件分岐:変数[0003:監視用X座標]がV[0001]と同値
◆条件分岐:変数[0004:監視用Y座標]がV[0002]と同値
◆スイッチの操作:[0001:2ページ目起動]をONにする
◆イベント処理の中断
◆
:分岐終了
◆
:分岐終了
◆注釈:4マス目
◆変数の操作:[0003:監視用X座標]加算,変数[0005]の値
◆変数の操作:[0004:監視用Y座標]加算,変数[0006]の値
◆指定位置の地形ID取得:(V[0003],V[0004]),[0011:地形ID]
◆条件分岐:変数[0011:地形ID]が2<4マス目に壁がある
◆イベント処理の中断
◆
:分岐終了
◆条件分岐:変数[0003:監視用X座標]がV[0001]と同値
◆条件分岐:変数[0004:監視用Y座標]がV[0002]と同値
◆スイッチの操作:[0001:2ページ目起動]をONにする
◆
:分岐終了
◆
:分岐終了
◆
▼2ページ目
イベント出現条件:スイッチ[0001:2ページ目起動]がON
イベント開始条件:イベントから触れたとき
移動タイプ:主人公に近寄る
イベント実行内容には、主人公と接触した時の設定を行ってください。 |
|
▲トップへ戻る▲
■前方4マス×幅3マスの監視イベントに追加
監視イベントのページで紹介している☆前方4マス×幅3マスで監視するイベントに、
壁を判断するイベントを追加します。
▼左向きの時の監視範囲
|
▼この場合は見つかりません
|
▼このような感じで調べます
|
▼壁がある先のマスは調べません
|
■マップイベント「監視イベント」
▼1ページ目
イベント出現条件:なし
イベント開始条件:定期的に並列処理する
◆変数の操作:[0001:主人公X座標]代入,主人公のX座標
◆変数の操作:[0002:主人公Y座標]代入,主人公のY座標
◆変数の操作:[0005〜0006]代入,0
◆変数の操作:[0011〜0012]代入,このイベントのX座標
◆変数の操作:[0016〜0018]代入,このイベントのY座標
◆条件分岐:このイベントが左を向いている
◆変数の操作:[0005:X座標±]代入,-1
◆変数の操作:[0016:Y座標01]加算,-1
◆変数の操作:[0018:Y座標03]加算,1
◆
:それ以外の場合
◆条件分岐:このイベントが右を向いている
◆変数の操作:[0005:X座標±]代入,1
◆変数の操作:[0016:Y座標01]加算,-1
◆変数の操作:[0018:Y座標03]加算,1
◆
:それ以外の場合
◆変数の操作:[0002:X座標01]加算,-1
◆変数の操作:[0013:X座標03]加算,1
◆条件分岐:このイベントが上を向いている
◆変数の操作:[0006:Y座標±]代入,-1
◆
:それ以外の場合
◆変数の操作:[0006:Y座標±]代入,1
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆注釈:------------------------------
: :1列目
: :
◆変数の操作:[0011〜0013]加算,変数[0005]の値
◆変数の操作:[0016〜0018]加算,変数[0006]の値
◆指定位置の地形ID取得:(V[0011],V[0016]),[0011:地形ID]
◆条件分岐:変数[0011:地形ID]が2<壁がある
◆変数の操作:[0011:X座標01]減算,変数[0005]の値
◆変数の操作:[0016:Y座標01]減算,変数[0006]の値
◆
:分岐終了
◆指定位置の地形ID取得:(V[0012],V[0017]),[0011:地形ID]
◆条件分岐:変数[0011:地形ID]が2<壁がある
◆変数の操作:[0012:X座標02]減算,変数[0005]の値
◆変数の操作:[0017:Y座標02]減算,変数[0006]の値
◆
:分岐終了
◆指定位置の地形ID取得:(V[0013],V[0018]),[0011:地形ID]
◆条件分岐:変数[0011:地形ID]が2<壁がある
◆変数の操作:[0013:X座標03]減算,変数[0005]の値
◆変数の操作:[0018:Y座標03]減算,変数[0006]の値
◆
:分岐終了
◆条件分岐:変数[0011:X座標01]がV[0001]と同値
◆条件分岐:変数[0016:Y座標01]がV[0002]と同値
◆スイッチの操作:[0001:2ページ目起動]をONにする
◆イベント処理の中断
◆
:分岐終了
◆
:分岐終了
◆条件分岐:変数[0012:X座標02]がV[0001]と同値
◆条件分岐:変数[0017:Y座標02]がV[0002]と同値
◆スイッチの操作:[0001:2ページ目起動]をONにする
◆イベント処理の中断
◆
:分岐終了
◆
:分岐終了
◆条件分岐:変数[0013:X座標03]がV[0001]と同値
◆条件分岐:変数[0018:Y座標03]がV[0002]と同値
◆スイッチの操作:[0001:2ページ目起動]をONにする
◆イベント処理の中断
◆
:分岐終了
◆
:分岐終了
◆注釈:------------------------------
: :2列目
: :
◆変数の操作:[0011〜0013]加算,変数[0005]の値
◆変数の操作:[0016〜0018]加算,変数[0006]の値
◆指定位置の地形ID取得:(V[0011],V[0016]),[0011:地形ID]
◆条件分岐:変数[0011:地形ID]が2<壁がある
◆変数の操作:[0011:X座標01]減算,変数[0005]の値
◆変数の操作:[0016:Y座標01]減算,変数[0006]の値
◆
:分岐終了
◆指定位置の地形ID取得:(V[0012],V[0017]),[0011:地形ID]
◆条件分岐:変数[0011:地形ID]が2<壁がある
◆変数の操作:[0012:X座標02]減算,変数[0005]の値
◆変数の操作:[0017:Y座標02]減算,変数[0006]の値
◆
:分岐終了
◆指定位置の地形ID取得:(V[0013],V[0018]),[0011:地形ID]
◆条件分岐:変数[0011:地形ID]が2<壁がある
◆変数の操作:[0013:X座標03]減算,変数[0005]の値
◆変数の操作:[0018:Y座標03]減算,変数[0006]の値
◆
:分岐終了
◆条件分岐:変数[0011:X座標01]がV[0001]と同値
◆条件分岐:変数[0016:Y座標01]がV[0002]と同値
◆スイッチの操作:[0001:2ページ目起動]をONにする
◆イベント処理の中断
◆
:分岐終了
◆
:分岐終了
◆条件分岐:変数[0012:X座標02]がV[0001]と同値
◆条件分岐:変数[0017:Y座標02]がV[0002]と同値
◆スイッチの操作:[0001:2ページ目起動]をONにする
◆イベント処理の中断
◆
:分岐終了
◆
:分岐終了
◆条件分岐:変数[0013:X座標03]がV[0001]と同値
◆条件分岐:変数[0018:Y座標03]がV[0002]と同値
◆スイッチの操作:[0001:2ページ目起動]をONにする
◆イベント処理の中断
◆
:分岐終了
◆
:分岐終了
◆注釈:------------------------------
: :3列目
: :
◆変数の操作:[0011〜0013]加算,変数[0005]の値
◆変数の操作:[0016〜0018]加算,変数[0006]の値
◆指定位置の地形ID取得:(V[0011],V[0016]),[0011:地形ID]
◆条件分岐:変数[0011:地形ID]が2<壁がある
◆変数の操作:[0011:X座標01]減算,変数[0005]の値
◆変数の操作:[0016:Y座標01]減算,変数[0006]の値
◆
:分岐終了
◆指定位置の地形ID取得:(V[0012],V[0017]),[0011:地形ID]
◆条件分岐:変数[0011:地形ID]が2<壁がある
◆変数の操作:[0012:X座標02]減算,変数[0005]の値
◆変数の操作:[0017:Y座標02]減算,変数[0006]の値
◆
:分岐終了
◆指定位置の地形ID取得:(V[0013],V[0018]),[0011:地形ID]
◆条件分岐:変数[0011:地形ID]が2<壁がある
◆変数の操作:[0013:X座標03]減算,変数[0005]の値
◆変数の操作:[0018:Y座標03]減算,変数[0006]の値
◆
:分岐終了
◆条件分岐:変数[0011:X座標01]がV[0001]と同値
◆条件分岐:変数[0016:Y座標01]がV[0002]と同値
◆スイッチの操作:[0001:2ページ目起動]をONにする
◆イベント処理の中断
◆
:分岐終了
◆
:分岐終了
◆条件分岐:変数[0012:X座標02]がV[0001]と同値
◆条件分岐:変数[0017:Y座標02]がV[0002]と同値
◆スイッチの操作:[0001:2ページ目起動]をONにする
◆イベント処理の中断
◆
:分岐終了
◆
:分岐終了
◆条件分岐:変数[0013:X座標03]がV[0001]と同値
◆条件分岐:変数[0018:Y座標03]がV[0002]と同値
◆スイッチの操作:[0001:2ページ目起動]をONにする
◆イベント処理の中断
◆
:分岐終了
◆
:分岐終了
◆注釈:------------------------------
: :4列目
: :
◆変数の操作:[0011〜0013]加算,変数[0005]の値
◆変数の操作:[0016〜0018]加算,変数[0006]の値
◆指定位置の地形ID取得:(V[0011],V[0016]),[0011:地形ID]
◆条件分岐:変数[0011:地形ID]が2<壁がある
◆変数の操作:[0011:X座標01]減算,変数[0005]の値
◆変数の操作:[0016:Y座標01]減算,変数[0006]の値
◆
:分岐終了
◆指定位置の地形ID取得:(V[0012],V[0017]),[0011:地形ID]
◆条件分岐:変数[0011:地形ID]が2<壁がある
◆変数の操作:[0012:X座標02]減算,変数[0005]の値
◆変数の操作:[0017:Y座標02]減算,変数[0006]の値
◆
:分岐終了
◆指定位置の地形ID取得:(V[0013],V[0018]),[0011:地形ID]
◆条件分岐:変数[0011:地形ID]が2<壁がある
◆変数の操作:[0013:X座標03]減算,変数[0005]の値
◆変数の操作:[0018:Y座標03]減算,変数[0006]の値
◆
:分岐終了
◆条件分岐:変数[0011:X座標01]がV[0001]と同値
◆条件分岐:変数[0006:Y座標01]がV[0002]と同値
◆スイッチの操作:[0001:2ページ目起動]をONにする
◆イベント処理の中断
◆
:分岐終了
◆
:分岐終了
◆条件分岐:変数[0004:X座標02]がV[0001]と同値
◆条件分岐:変数[0017:Y座標02]がV[0002]と同値
◆スイッチの操作:[0001:2ページ目起動]をONにする
◆イベント処理の中断
◆
:分岐終了
◆
:分岐終了
◆条件分岐:変数[0013:X座標03]がV[0001]と同値
◆条件分岐:変数[0018:Y座標03]がV[0002]と同値
◆スイッチの操作:[0001:2ページ目起動]をONにする
◆イベント処理の中断
◆
:分岐終了
◆
:分岐終了
◆
▼2ページ目
イベント出現条件:スイッチ[0001:2ページ目起動]がON
イベント開始条件:イベントから触れたとき
移動タイプ:主人公に近寄る
イベント実行内容には、主人公と接触した時の設定を行ってください。 |
|
▲トップへ戻る▲
◎関連ページ
●監視イベント
┣○壁を判断する監視イベント
┗○主人公がいたマスまで移動する |