RPGツクール2000/システム【サイトトップへ戻る】
アイテム「世界地図」を使うと地図が表示される
■小さな世界地図に主人公の現在位置を表示する
(更新:2020/07/05)


フィールド上でアイテム「世界地図」を使うと、画面の右下に小さな世界地図が表示され、
主人公の現在位置が表示されるように設定します。



今回はマップサイズが「横80×縦60マス」の場合の設定例です。

ショートカット
■アイテムの準備
■基本設定
■マップごとにそのマップの地図を表示する
■現在位置の表示を点滅させる


  
■アイテムの準備

アイテム「世界地図」を準備してください。

設定名 設定内容
名前 世界地図
種別 スイッチ
使用回数 無制限
ONにするスイッチ [0001:地図表示]
使用可能な場面 フィールドのみ

※他の設定項目は自由に設定してください。




▲トップへ戻る▲


  
■基本設定

地図画像現在位置を表示する画像を用意して、
素材管理の「Picture」にインポートしてください。

今回は横80×縦60ピクセルの地図画像を使用します。

地図 現在位置の表示用



イベント設定の前に世界マップのマップIDを確認してください。





世界マップではないマップで地図を開いた時には、
世界マップ上でそのマップの入り口となる位置を現在位置として表示します。

例えば、世界マップ上でマップID「2」の入り口がこの座標である場合…
のイベント設定は以下のように設定します。

◆条件分岐:変数[0003:現在のマップID]が2
 ◆変数の操作:[0001:X表示位置]代入,13
 ◆変数の操作:[0002:Y表示位置]代入,47
 ◆
:分岐終了



下記のイベント設定に…
◆変数の操作:[0001:X表示位置]加算,235
◆変数の操作:[0002:Y表示位置]加算,175
と言った設定があります。

この加算している値は、画面の左端から地図画像の左端、
または画面の上端から地図画像の上端までの距離(ピクセル数)を加算しています。





地図画像を表示するイベントをコモンイベントに設定します。

■コモンイベント「アイテム使用」

イベント開始条件:自動的に始まる
出現条件スイッチ:[0001:地図表示]

◆スイッチの操作:[0001:地図表示]をOFFにする
◆スイッチの操作:[0002:地図表示処理]のON/OFFを逆転
◆条件分岐:スイッチ[0002:地図表示処理]がON
 ◆変数の操作:[0004:表示したマップID]代入,0
 ◆
:分岐終了
 ◆ピクチャーの消去:1
 ◆ピクチャーの消去:2
 ◆
:分岐終了

■コモンイベント「地図表示」

イベント開始条件:定期的に並列処理する
出現条件スイッチ:[0002:地図表示処理]

◆現在の場所を記憶:[0003],[0001],[0002]
◆条件分岐:変数[0003:現在のマップID]が2<マップID「2」にいる時
 ◆変数の操作:[0001:X表示位置]代入,13
 ◆変数の操作:[0002:Y表示位置]代入,47
 ◆
:分岐終了
◆条件分岐:変数[0003:現在のマップID]が3<マップID「3」にいる時
 ◆変数の操作:[0001:X表示位置]代入,48
 ◆変数の操作:[0002:Y表示位置]代入,33
 ◆
:分岐終了
◆変数の操作:[0001〜0002]乗算,2000
◆変数の操作:[0001:X表示位置]除算,79<マップの横マス数−1
◆変数の操作:[0002:Y表示位置]除算,59<マップの縦マス数−1
◆変数の操作:[0001:X表示位置]乗算,79<表示するマップの横ピクセル数−1マス分のピクセル
◆変数の操作:[0002:Y表示位置]乗算,59<表示するマップの縦ピクセル数−1マス分のピクセル
◆変数の操作:[0001〜0002]除算,2000
◆変数の操作:[0001:X表示位置]加算,235<画面左端から地図画像の左端までのピクセル数を加算
◆変数の操作:[0002:Y表示位置]加算,175<画面上端から地図画像の上端までのピクセル数を加算
◆条件分岐:変数[0004:表示したマップID]がV[0003]以外(オプション:ON)<別のマップへ移動した時
 ◆変数の操作:[0004:表示したマップID]代入,主人公のマップID
 ◆ピクチャーの表示:1,世界地図(275,205)(透明色:なし)
 ◆ピクチャーの表示:2,現在位置(V[0001],V[0002])(透明色:あり)
 ◆
:それ以外の場合<同じマップにいる時
 ◆ピクチャーの移動:2,(V[0001],V[0002]),0.0秒
 ◆
:分岐終了



なお、世界マップ以外ではアイテムを使用しても地図が表示されないようにする場合は…
◆条件分岐:変数[0003:現在のマップID]が2
 ◆変数の操作:[0001:X表示位置]代入,13
 ◆変数の操作:[0002:Y表示位置]代入,47
 ◆
:分岐終了
◆条件分岐:変数[0003:現在のマップID]が3
 ◆変数の操作:[0001:X表示位置]代入,48
 ◆変数の操作:[0002:Y表示位置]代入,33
 ◆
:分岐終了
の部分を…
◆条件分岐:変数[0003:現在のマップID]が1以外
 ◆文章:ここでは使用できません。
 ◆スイッチの操作:[0002:地図表示処理]をOFFにする
 ◆イベント処理の中断
 ◆
:分岐終了
に変えてください。


以上で設定完了です。


▲トップへ戻る▲


  
■マップごとにそのマップの地図を表示する

マップごとにそのマップの地図画像を表示する場合は、以下のように設定してください。

マップID マス数
1 80×60マス
2 40×30マス
3 48×56マス

■コモンイベント「地図表示」

イベント開始条件:定期的に並列処理する
出現条件スイッチ:[0002:地図表示処理]

◆現在の場所を記憶:[0003],[0001],[0002]
◆変数の操作:[0001〜0002]乗算,2000<位置を移動
◆条件分岐:変数[0003:現在のマップID]が1
 ◆変数の操作:[0001:X表示位置]除算,79<条件分岐内へ移動
 ◆変数の操作:[0002:Y表示位置]除算,59<条件分岐内へ移動
 ◆
:分岐終了

◆条件分岐:変数[0003:現在のマップID]が2
 ◆変数の操作:[0001:X表示位置]除算,39<マップID2の横マス数−1
 ◆変数の操作:[0002:Y表示位置]除算,29
<マップID2の縦マス数−1
 ◆
:分岐終了
◆条件分岐:変数[0003:現在のマップID]が3
 ◆変数の操作:[0001:X表示位置]除算,47<マップID3の横マス数−1
 ◆変数の操作:[0002:Y表示位置]除算,55
<マップID3の縦マス数−1
 ◆
:分岐終了
◆変数の操作:[0001:X表示位置]乗算,79
◆変数の操作:[0002:Y表示位置]乗算,59
◆変数の操作:[0001〜0002]除算,2000
◆変数の操作:[0001:X表示位置]加算,235
◆変数の操作:[0002:Y表示位置]加算,175
◆条件分岐:変数[0004:表示したマップID]がV[0003]以外(オプション:ON)
 ◆変数の操作:[0004:表示したマップID]代入,主人公のマップID
 ◆ピクチャーの表示:2,現在位置(V[0001],V[0002])
(透明色:あり)
 ◆条件分岐:変数[0003:現在のマップID]が1
  ◆ピクチャーの表示:1,世界地図(275,205)(透明色:なし)<条件分岐内へ移動
  ◆
 :分岐終了
 ◆条件分岐:変数[0003:現在のマップID]が2
  ◆ピクチャーの表示:1,map02地図(275,205)(透明色:なし)
  ◆
 :分岐終了
 ◆条件分岐:変数[0003:現在のマップID]が3
  ◆ピクチャーの表示:1,map03地図(275,205)(透明色:なし)
  ◆
 :分岐終了

 ◆
:それ以外の場合
 ◆ピクチャーの移動:2,(V[0001],V[0002]),0.0秒
 ◆
:分岐終了



なお、地図画像のサイズがマップごとに異なる場合は、以下のように設定してください。

マップID マス数 地図画像サイズ 地図の中心 X加算 Y加算
1 80×60マス 80×60ピクセル X275・Y205 +235 +175
2 40×30マス 40×30ピクセル X295・Y220 +255 +190
3 48×56マス 48×56ピクセル X291・Y207 +251 +177

■コモンイベント「地図表示」

イベント開始条件:定期的に並列処理する
出現条件スイッチ:[0002:地図表示処理]

◆現在の場所を記憶:[0003],[0001],[0002]
◆変数の操作:[0001〜0002]乗算,2000
◆条件分岐:変数[0003:現在のマップID]が1
 ◆変数の操作:[0001:X表示位置]除算,79
 ◆変数の操作:[0002:Y表示位置]除算,59

 ◆変数の操作:[0001:X表示位置]乗算,79<条件分岐内へ移動
 ◆変数の操作:[0002:Y表示位置]乗算,59<条件分岐内へ移動
 ◆変数の操作:[0001〜0002]除算,2000<条件分岐内へ移動
 ◆変数の操作:[0001:X表示位置]加算,235<条件分岐内へ移動
 ◆変数の操作:[0002:Y表示位置]加算,175<条件分岐内へ移動
 ◆
:分岐終了
◆条件分岐:変数[0003:現在のマップID]が2
 ◆変数の操作:[0001:X表示位置]除算,39
 ◆変数の操作:[0002:Y表示位置]除算,29

 ◆変数の操作:[0001:X表示位置]乗算,39
 ◆変数の操作:[0002:Y表示位置]乗算,29
 ◆変数の操作:[0001〜0002]除算,2000
 ◆変数の操作:[0001:X表示位置]加算,255
 ◆変数の操作:[0002:Y表示位置]加算,190

 ◆
:分岐終了
◆条件分岐:変数[0003:現在のマップID]が3
 ◆変数の操作:[0001:X表示位置]除算,47
 ◆変数の操作:[0002:Y表示位置]除算,55

 ◆変数の操作:[0001:X表示位置]乗算,47
 ◆変数の操作:[0002:Y表示位置]乗算,55
 ◆変数の操作:[0001〜0002]除算,2000
 ◆変数の操作:[0001:X表示位置]加算,251
 ◆変数の操作:[0002:Y表示位置]加算,177

 ◆
:分岐終了
◆条件分岐:変数[0004:表示したマップID]がV[0003]以外(オプション:ON)
 ◆変数の操作:[0004:表示したマップID]代入,主人公のマップID
 ◆ピクチャーの表示:2,現在位置(V[0001],V[0002])(透明色:あり)
 ◆条件分岐:変数[0003:現在のマップID]が1
  ◆ピクチャーの表示:1,世界地図(275,205)(透明色:なし)
  ◆
 :分岐終了
 ◆条件分岐:変数[0003:現在のマップID]が2
  ◆ピクチャーの表示:1,map02地図(295,220)(透明色:なし)
  ◆
 :分岐終了
 ◆条件分岐:変数[0003:現在のマップID]が3
  ◆ピクチャーの表示:1,map03地図(291,207)(透明色:なし)
  ◆
 :分岐終了
 ◆
:それ以外の場合
 ◆ピクチャーの移動:2,(V[0001],V[0002]),0.0秒
 ◆
:分岐終了


以上で設定完了です。


▲トップへ戻る▲


  
■現在位置の表示を点滅させる

現在位置の表示が点滅するように設定します。





下記のイベント設定に…
◆変数の操作:[0005:点滅カウント]剰余,60
と言った設定があります。

この「剰余60」の設定により、
変数[0005:点滅カウント]の値が「60」になったら「0」に戻り、
変数[0005:点滅カウント]の値が常に「0〜59」になります。

点滅は…
[0005:点滅カウント]が「0〜29」 → 表示する (透明度:0%)
[0005:点滅カウント]が「30〜59」→ 表示しない(透明度:100%)
と言った仕様で点滅します。



■コモンイベント「アイテム使用」

イベント開始条件:自動的に始まる
出現条件スイッチ:[0001:地図表示]

◆スイッチの操作:[0001:地図表示]をOFFにする
◆スイッチの操作:[0002:地図表示処理]のON/OFFを逆転
◆条件分岐:スイッチ[0002:地図表示処理]がON
 ◆変数の操作:[0004:表示したマップID]代入,0
 ◆
:分岐終了
 ◆ピクチャーの消去:1
 ◆ピクチャーの消去:2
 ◆
:分岐終了

■コモンイベント「地図表示」

イベント開始条件:定期的に並列処理する
出現条件スイッチ:[0002:地図表示処理]

◆現在の場所を記憶:[0003],[0001],[0002]
◆条件分岐:変数[0003:現在のマップID]が2
 ◆変数の操作:[0001:X表示位置]代入,13
 ◆変数の操作:[0002:Y表示位置]代入,47
 ◆
:分岐終了
◆条件分岐:変数[0003:現在のマップID]が3
 ◆変数の操作:[0001:X表示位置]代入,48
 ◆変数の操作:[0002:Y表示位置]代入,33
 ◆
◆変数の操作:[0001〜0002]乗算,2000
◆変数の操作:[0001:X表示位置]除算,79
◆変数の操作:[0002:Y表示位置]除算,59
◆変数の操作:[0001:X表示位置]乗算,79
◆変数の操作:[0002:Y表示位置]乗算,59
◆変数の操作:[0001〜0002]除算,2000
◆変数の操作:[0001:X表示位置]加算,235
◆変数の操作:[0002:Y表示位置]加算,175
◆条件分岐:変数[0004:表示したマップID]がV[0003]以外(オプション:ON)
 ◆変数の操作:[0004:表示したマップID]代入,主人公のマップID
 ◆ピクチャーの表示:1,世界地図(275,205)(透明色:なし)
 ◆ピクチャーの表示:2,現在位置(V[0001],V[0002])(透明色:あり)
 ◆
:それ以外の場合
 ◆変数の操作:[0005:点滅カウント]加算,1
 ◆変数の操作:[0005:点滅カウント]剰余,60
 ◆条件分岐:変数[0005:点滅カウント]が30より小さい
  ◆ピクチャーの移動:2,(V[0001],V[0002]),0.0秒(透明度:0)
  ◆
 :それ以外の場合
  ◆ピクチャーの移動:2,(V[0001],V[0002]),0.0秒(透明度:100)
  ◆
 :分岐終了

 ◆
:分岐終了


以上で設定完了です。


▲トップへ戻る▲



◎関連ページ

●アイテム「世界地図」を使うと地図が表示される
┣○地図画像を準備する
┣○大きな世界地図に主人公の現在位置を表示する
┗○小さな世界地図に主人公の現在位置を表示する

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