こちらはRPGツクールMV用の記事です。
(RPGツクールMZでも、ほぼ応用が効きます)
RPGツクールMZでワールドマップ移動システムを作る(GALV Map Travel MZ)も参考にしてください。
この記事は、記事内容の趣旨・引用についてYADO様に許可を頂いて書いたものです。
大きな世界地図に主人公の現在位置を表示する
yado.tk/2k/08_system/052_map_ichi/
今回は処理の意味を理解いただくことを主眼として、上記の記事を(主に座標の詳細計算について)非常に大きく削った内容になります。
※一度、本記事を終えてから、厳密な処理を望むようになってから元記事を読むと理解が早いと考えます。
上記記事の続きとして、設定します。
現在位置を表示する画像を用意
今回はアイコンから1つ抜き出したものを使います。
出来上がった画像を /img/pictures/ 内に保存してください。
コモンイベント「世界地図」
世界地図のマップIDと幅と高さを確認してください。
- マップID:2
- 幅:140
- 高さ:140
座標変換
- 1.マップ上の座標を世界地図画像上でのピクセル位置に相対的に変換する。
- 2.変換された位置に位置を示す画像を表示する。
という手順が必要になります。
今回の設定では、マップのマス数が「140 x 140 マス」に対して、地図画像のサイズが「624(左右余白96を除く) x 624 ピクセル」です。
つまり「1マス=4.45ピクセル」になります。
ツクールの変数はツクール上では整数しか扱えないため、端数を消してしまわない注意が必要です。
x,y座標をそれぞれ4.45倍しますが、 上記の通り、小数が使用できないため下記のような順で処理をする必要があります。
- 445倍する。
- 100で割る。
今回は、最後にマップの左右に96ピクセルの余白が加えてあるので、x座標に96加算します。
2つのピクチャの表示の間にウェイトが入っているのは、画像のファイルサイズの差が大きく、先に場所が表示されてしまう違和感をなくすためです。
こだわらなかったり、現在地の表示形式やファイルサイズによっては必要ないでしょう。
現在位置の表示を点滅させる
下記のイベント設定に、下記のものがあります。
変数の操作:[0005:点滅カウント]剰余,60
この「剰余60」の設定により、
変数[0005:点滅カウント]の値が「60」になったら「0」に戻り、
変数[0005:点滅カウント]の値が常に「0~59」になります。
ループが始まる前に[0005:点滅カウント]のリセット処理を追加します。
点滅は、下記のように動作します。
[0005:点滅カウント]が「0~29」 → ピクチャを移動(同位置、30フレーム、不透明度255)
[0005:点滅カウント]が「30~59」→ ピクチャを移動(同位置、30フレーム、不透明度100)
ピクチャの表示ではなく、移動でフレーム数を指定することで、フェードを表現することができます。

コメントを投稿するにはログインしてください。