RPGツクール2000/システム
敵イベントの位置を表示するレーダーシステム
■円形のレーダーを表示する
(更新:2015/12/19)


マップイベントの位置を表示するレーダーシステムの作り方を紹介します。
今回は主人公を中心に上下左右20マス以内にいるマップイベントを表示する
円形のレーダー表示システムを作成します。




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



☆画像の準備



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

 ※この画像の上で右クリック名前を付けて画像を保存を選択して保存し、
  この画像をインポートして使っても問題ありません。


 ※左の画像は拡大して表示しています。
  実際にはもっと小さい画像です。



☆Y軸の中心から枠までのピクセル数を数える
Y軸の中心からレーダーの枠までのピクセル数をX位置ごとに調べておきます。

今回は変数0081番を中心に0061番〜0101番の変数へ、
Y位置=0(中心線)から枠までのピクセル数の情報を設定します。



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

変数
番号 名前 使用内容
0001 現在のマップID 現在のマップIDを設定。
0002 表示マップID ピクチャーを表示したマップIDを記憶。
0003 枠ピクセル変数番号 変数61〜101番を呼び出す時に使用。
0004 枠範囲内チェック 表示範囲内であるかをチェックする時に使用。
 
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表示位置を設定。
 
0061-101 枠までの表示範囲のピクセル数を記憶。



☆イベントの作成
円形の枠の中にマップイベントの位置を表示するイベントを設定します。
敵のイベント位置を表示するレーダーシステムへの追加設定は以下の通りです。

■マップイベント「レーダー処理」
イベント開始条件:定期的に並列処理する
◆変数の操作:[0001:マップID]代入,主人公のマップID
◆条件分岐:変数[0002:前のマップID]がV[0001]以外
 ◆変数の操作:[0002:前のマップID]代入,主人公のマップID
 ◆ピクチャーの表示:1,枠(290,30)(透明度:0%)
 ◆ピクチャーの表示:2,位置表示(160,120)(透明度:100%)
 ◆ピクチャーの表示:3,位置表示(160,120)(透明度:100%)
 ◆変数の操作:[0061〜0101]代入,5<枠までのピクセル数を設定
 ◆変数の操作:[0062〜0100]代入,8
 ◆変数の操作:[0063〜0099]代入,11
 ◆変数の操作:[0064〜0098]代入,12
 ◆変数の操作:[0065〜0097]代入,14
 ◆変数の操作:[0066〜0096]代入,15
 ◆変数の操作:[0067〜0095]代入,16
 ◆変数の操作:[0068〜0094]代入,17
 ◆変数の操作:[0070〜0092]代入,18
 ◆変数の操作:[0071〜0091]代入,19
 ◆変数の操作:[0074〜0088]代入,20
 ◆変数の操作:[0077〜0085]代入,21

 ◆
:分岐終了
◆変数の操作:[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座標
◆変数の操作:[0041:表示範囲X01]代入,変数[0021]の値
◆変数の操作:[0042:表示範囲X02]代入,変数[0022]の値
◆変数の操作:[0041〜0050]除算,21
◆ピクチャーの移動:2,(160,120),0.0秒(透明度:100%)
◆ピクチャーの移動:3,(160,120),0.0秒(透明度:100%)
◆条件分岐:変数[0041:表示範囲X01]が0
 ◆変数の操作:[0003:枠ピクセル変数番号]代入,変数[0021]の値
 ◆変数の操作:[0003:枠ピクセル変数番号]加算,81<枠ピクセルを記憶する変数番号の中心に合わせます
 ◆変数の操作:[0004:枠範囲内チェック]代入,変数[0031]の値
 ◆変数の操作:[0004:枠範囲内チェック]除算,変数[V[0003]]の値

 ◆条件分岐:変数[0004:枠範囲内チェック]が0<枠の範囲内である時
  ◆変数の操作:[0021:X座標01]加算,290
  ◆変数の操作:[0031:Y座標01]加算,30

  ◆ピクチャーの移動:2,(V[0021],V[0031]),0.0秒(透明度:0%)
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0042:表示範囲X02]が0
 ◆変数の操作:[0003:枠ピクセル変数番号]代入,変数[0022]の値
 ◆変数の操作:[0003:枠ピクセル変数番号]加算,81<枠ピクセルを記憶する変数番号の中心に合わせます
 ◆変数の操作:[0004:枠範囲内チェック]代入,変数[0032]の値
 ◆変数の操作:[0004:枠範囲内チェック]除算,変数[V[0003]]の値

 ◆条件分岐:変数[0004:枠範囲内チェック]が0<枠の範囲内である時
  ◆変数の操作:[0022:X座標02]加算,290
  ◆変数の操作:[0032:Y座標02]加算,30

  ◆ピクチャーの移動:3,(V[0022],V[0032]),0.0秒(透明度:0%)
  ◆
 :分岐終了
 ◆
:分岐終了


以上で設定完了です。



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


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