RPGツクール2000/システム【サイトトップへ戻る】
敵イベントの位置を表示するレーダーシステム
■マップのループに対応させる
(更新:2020/07/05)


マップイベントの位置を表示するレーダーシステムの作り方を紹介します。

今回は主人公を中心に上下左右20マス以内にいるマップイベントを表示する
正方形のレーダー表示システムの中に、
マップのループに対応させるイベント設定を追加します。



ショートカット
■画像の準備
■変数
■イベントの設定
■補足

このページは続きとなっているページです
敵のイベント位置を表示するレーダーシステムの基礎ページを
ご覧の上でこのページをご覧ください。
【敵のイベント位置を表示するレーダーシステムのページを開く】


  
■画像の準備

中心から上下左右に21ピクセルの所に枠があるレーダーの下地と、
マップイベントの位置を示す画像を用意して、
素材管理の「Picture」にインポートしてください。

※この画像は拡大して表示しており、実際にはもっと小さい画像です。

上の画像を使う場合は、画像の上で右クリック名前を付けて画像を保存を選択して、
デスクトップなどに保存してインポートして使っても問題ありません。


▲トップへ戻る▲


  
■変数

変数の番号使用内容の一覧表です。

変数
番号 名前 使用内容
0001 現在のマップID 現在のマップIDを設定。
0002 表示マップID ピクチャーを表示したマップIDを記憶。
0005 マップの幅X マップの横マス数を設定。
0006 マップの幅Y マップの縦マス数を設定。
0007 マップの幅Y ループした座標を代入する時に使用。
0008 ループ:比較 ループした方が距離が短いかを確認する時に使用。
0021 X座標01 敵01のX座標を設定。
0022 X座標02 敵02のX座標を設定。
0031 Y座標01 敵01のY座標を設定。
0032 Y座標02 敵02のY座標を設定。
0041 表示範囲X01 敵01のレーダーのX表示位置を設定。
0042 表示範囲X02 敵02のレーダーのX表示位置を設定。
0051 表示範囲Y01 敵01のレーダーのY表示位置を設定。
0052 表示範囲Y02 敵02のレーダーのY表示位置を設定。

【変数の一覧表を開く】


▲トップへ戻る▲


  
■イベントの設定

敵のイベント位置を表示するレーダーシステムのイベント設定に、
マップのループに対応するイベントを追加設定します。

このイベントでは、マップの縦横の幅を設定するイベントが必要になりますので、
必ずマップイベントとして作成し、マップの右下に設定してください。

■マップイベント「レーダー処理」

イベント開始条件:定期的に並列処理する

◆変数の操作:[0001:マップID]代入,主人公のマップID
◆条件分岐:変数[0002:前のマップID]がV[0001]以外
 ◆変数の操作:[0002:前のマップID]代入,主人公のマップID
 ◆ピクチャーの表示:1,枠(290,30)(透明度:0%)
 ◆ピクチャーの表示:2,位置表示(160,120)(透明度:100%)
 ◆ピクチャーの表示:3,位置表示(160,120)(透明度:100%)
 ◆
:分岐終了
◆変数の操作:[0021:X座標01]代入,イベント01のX座標
◆変数の操作:[0022:X座標02]代入,イベント02のX座標
◆変数の操作:[0031:Y座標01]代入,イベント01のY座標
◆変数の操作:[0032:Y座標02]代入,イベント02のY座標
◆変数の操作:[0021〜0030]減算,主人公のX座標
◆変数の操作:[0031〜0040]減算,主人公のY座標
◆変数の操作:[0005:マップの幅X]代入,このイベントのX座標
◆変数の操作:[0006:マップの幅Y]代入,このイベントのY座標
◆変数の操作:[0005〜0006]加算,1
◆変数の操作:[0007〜0008]代入,変数[0021]の値
◆条件分岐:変数[0007:ループ:代入]が-1以下<主人公より左に居る場合
 ◆変数の操作:[0007〜0008]加算,変数[0005]の値
 ◆変数の操作:[0008:ループ:比較]乗算,-1
 ◆条件分岐:変数[0008:ループ:比較]がV[0021]以上<ループした方が主人公に近い場合
  ◆変数の操作:[0021:X座標01]代入,変数[0007]の値
  ◆
 :分岐終了
 ◆
:それ以外の場合<主人公と同じX位置か、主人公より右に居る場合
 ◆変数の操作:[0007〜0008]減算,変数[0005]の値
 ◆変数の操作:[0008:ループ:比較]乗算,-1
 ◆条件分岐:変数[0008:ループ:比較]がV[0021]以下<ループした方が主人公に近い場合
  ◆変数の操作:[0021:X座標01]代入,変数[0007]の値
  ◆
 :分岐終了
 ◆
:分岐終了
◆変数の操作:[0007〜0008]代入,変数[0031]の値
◆条件分岐:変数[0007:ループ:代入]が-1以下<主人公より上に居る場合
 ◆変数の操作:[0007〜0008]加算,変数[0006]の値
 ◆変数の操作:[0008:ループ:比較]乗算,-1
 ◆条件分岐:変数[0008:ループ:比較]がV[0031]以上<ループした方が主人公に近い場合
  ◆変数の操作:[0031:Y座標01]代入,変数[0007]の値
  ◆
 :分岐終了
 ◆
:それ以外の場合<主人公と同じY位置か、主人公より下に居る場合
 ◆変数の操作:[0007〜0008]減算,変数[0006]の値
 ◆変数の操作:[0008:ループ:比較]乗算,-1
 ◆条件分岐:変数[0008:ループ:比較]がV[0031]以下<ループした方が主人公に近い場合
  ◆変数の操作:[0031:Y座標01]代入,変数[0007]の値
  ◆
 :分岐終了
 ◆
:分岐終了
◆変数の操作:[0007〜0008]代入,変数[0022]の値
◆条件分岐:変数[0007:ループ:代入]が-1以下<主人公より左に居る場合
 ◆変数の操作:[0007〜0008]加算,変数[0005]の値
 ◆変数の操作:[0008:ループ:比較]乗算,-1
 ◆条件分岐:変数[0008:ループ:比較]がV[0022]以上<ループした方が主人公に近い場合
  ◆変数の操作:[0022:X座標02]代入,変数[0007]の値
  ◆
 :分岐終了
 ◆
:それ以外の場合<主人公と同じX位置か、主人公より右に居る場合
 ◆変数の操作:[0007〜0008]減算,変数[0005]の値
 ◆変数の操作:[0008:ループ:比較]乗算,-1
 ◆条件分岐:変数[0008:ループ:比較]がV[0022]以下<ループした方が主人公に近い場合
  ◆変数の操作:[0022:X座標02]代入,変数[0007]の値
  ◆
 :分岐終了
 ◆
:分岐終了
◆変数の操作:[0007〜0008]代入,変数[0032]の値
◆条件分岐:変数[0007:ループ:代入]が-1以下<主人公より上に居る場合
 ◆変数の操作:[0007〜0008]加算,変数[0006]の値
 ◆変数の操作:[0008:ループ:比較]乗算,-1
 ◆条件分岐:変数[0008:ループ:比較]がV[0032]以上<ループした方が主人公に近い場合
  ◆変数の操作:[0032:Y座標02]代入,変数[0007]の値
  ◆
 :分岐終了
 ◆
:それ以外の場合<主人公と同じY位置か、主人公より下に居る場合
 ◆変数の操作:[0007〜0008]減算,変数[0006]の値
 ◆変数の操作:[0008:ループ:比較]乗算,-1
 ◆条件分岐:変数[0008:ループ:比較]がV[0032]以下<ループした方が主人公に近い場合
  ◆変数の操作:[0032:Y座標02]代入,変数[0007]の値
  ◆
 :分岐終了
 ◆
:分岐終了

◆変数の操作:[0041:表示範囲X01]代入,変数[0021]の値
◆変数の操作:[0042:表示範囲X02]代入,変数[0022]の値
◆変数の操作:[0051:表示範囲Y01]代入,変数[0031]の値
◆変数の操作:[0052:表示範囲Y02]代入,変数[0032]の値
◆変数の操作:[0041〜0060]除算,21
◆変数の操作:[0021〜0030]加算,290
◆変数の操作:[0031〜0040]加算,30
◆ピクチャーの移動:2,(160,120),0.0秒(透明度:100%)
◆ピクチャーの移動:3,(160,120),0.0秒(透明度:100%)
◆条件分岐:変数[0041:表示範囲X01]が0
 ◆条件分岐:変数[0051:表示範囲Y01]が0
  ◆ピクチャーの移動:2,(V[0021],V[0031]),0.0秒(透明度:0%)
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0042:表示範囲X02]が0
 ◆条件分岐:変数[0052:表示範囲Y02]が0
  ◆ピクチャーの移動:3,(V[0022],V[0032]),0.0秒(透明度:0%)
  ◆
 :分岐終了
 ◆
:分岐終了


以上で設定完了です。


▲トップへ戻る▲


  
■補足

マップイベントがマップの右下へ置けない場合は…
◆変数の操作:[0005:マップの幅X]代入,このイベントのX座標
◆変数の操作:[0006:マップの幅Y]代入,このイベントのY座標
◆変数の操作:[0005〜0006]加算,1
の設定を「マップの横マス=100マス」「マップの縦マス=60マス」の場合は…
◆変数の操作:[0005:マップの幅X]代入,100
◆変数の操作:[0006:マップの幅Y]代入,60
に変えてください。


▲トップへ戻る▲



◎関連ページ

●敵のイベント位置を表示するレーダーシステム
┣○円形のレーダーを表示させる
┗○マップのループに対応させる

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