[RGSS3]ワールドマップの表示

※ 2016/05/13 更新
※ 2013/03/08 更新
|д・) ソォーッ…



 念願の、ワールドマップ表示ができたぁ!
 _/\○_ヒャッ  ε=\___○ノホーウ!!!


 ……てなわけで、今日のお話は「ワールドマップの表示」です。
 いわゆる、世界地図アイテムですね。

ここで世界地図を開くと……
worldmap_ss002.png

こんな感じで表示
worldmap_ss001.png
■緑=プレイヤー ■青=乗り物 ■黄=町村 ■赤=ダンジョン


【概要】
 アイテム(スキル)の使用で世界地図を開きます。
 Lボタン(キーボードではQ、PageUp)でショートカット可能。
 世界地図にはプレイヤーの現在位置が点滅表示されます。
 スイッチ制御で乗り物や町村、ダンジョンの位置も表示できます。

 そして、毎度のごとく、詳細は追記に続きます↓




 今回は、自分が欲しいもの詰め込みまくったせいで「定数の設定」がやたら多いです。
 なので、後半で一つずつ説明していきたいと思います。
 先に下準備の説明から!

【下準備】
 1.ワールドマップのアイテム(またはスキル)を作成する。
 ……まぁ、スキルにする人はあまりいないとは思いますが、可能なので一応(´Д`;)
worldmap_item.png

 効果範囲は[なし]、使用可能時は[メニューのみ]とします。
 メモ欄には <WORLDMAP> と入力して下さい。
(ワールドマップの識別用文字列を変更した場合はその文字列を入力して下さい)

 2.ワールドマップ表示用の画像を作成する。
WorldMap.png

 スクリーンショット方法やトリミング加工の説明は長くなるので割愛。
 サイズは544×416(Pixel)以下、縮尺は元のマップと同じ(等倍)にすること。(上記画像の場合、400×400)
 これを間違えると、正しい位置座標(現在位置とか)の取得ができずにズレやがります。

 3.ワールドマップ表示用の画像をインポート。
worldmap_mapname.png

 Graphics/Systemフォルダにワールドマップ表示用の画像をインポートします。
 上記では"WorldMap"という名前の画像をインポートしています。
 もちろん、名前はお好きなものをつけて下さっても大丈夫!

 ……はい、ここまでが下準備。
 残りは、RGSS3内のユーザー設定です。



【定数の詳細説明】
 必ず設定しなければならないのは、次の5つです。
 ◎ 定数(ワールドマップ使用可能マップID)
 ◎ 定数(ワールドマップ画像)
 ◎ 定数(ワールドマップ使用可能判定スイッチ + α)
 ◎ 定数(町村・ダンジョン表示位置のデータテーブル)
 ◎ 定数(位置情報用矩形のピクセルサイズ)
 これらの説明を始めます。

◎ 定数(ワールドマップ使用可能マップID)
worldmap_Teisu1.png
 ここで指定したIDのマップでのみ、ワールドマップが使えるようになります。
 ワールドマップの元となるマップのIDを設定して下さい。
↓ マップのID
worldmap_mapID.png

◎ 定数(ワールドマップ画像)
worldmap_Teisu2.png
 インポートしたワールドマップ表示用の画像の名前を入力します。

◎ 定数(ワールドマップ使用可能判定スイッチ + α)
worldmap_Teisu3.png
 ワールドマップの使用を可能にするスイッチと、乗り物の表示を可能にするスイッチを設定して下さい。

◎ 定数(町村・ダンジョン表示位置のデータテーブル)
worldmap_Teisu4.png
 [表示許可スイッチID, イベントID, 矩形設定] を設定します。
 ここで指定したスイッチIDが ON の時、対応するイベントIDの場所が表示されます。
 矩形設定では 0 か 1 を指定して下さい。(0:町村 / 1:ダンジョン)
 それぞれ対応した色の矩形で表示されます。

 ※ 注意:ここで指定するのはマップIDではなく、イベントIDです!
 いわゆる「場所移動用イベント」のIDを指定して下さい。
↓ イベントID
worldmap_eventID.png

 ここまで設定すると、スイッチ一覧は以下のようになります。
worldmap_switch.png


◎ 定数(位置情報用矩形のピクセルサイズ)
worldmap_Teisu5.png
位置情報用矩形のピクセルサイズを設定します。
(ワールドマップ画像÷元マップくらいが目安です。
例…画像 = 400×400:元マップ = 100×100 => 4)

 元マップのサイズは右下の方に表示されています。
worldmap_mapsize.png



 上記の定数より以下は、変更しないでも動作する「おまけ定数」です。
 変更はお好みでどうぞ♪

---------- 使用要項 ----------

[素材の種類] 
RGSS3素材。

[利用報告]
任意でOK。クレジットも任意。

[利用規約]
素材の加工OK。
加工後の配布はOK。
そのまま再配布はナシ×

------------------------------

WorldMap_1_0_2.txt
 Ver.1.0.2 2016/05/13 使用可能マップや許可スイッチの影響を受けずに動作してしまう不具合を修正
 Ver.1.0.1 2013/03/08 バトル時にコマンド入力を受け付けない不具合を修正



|彡サッ!

この記事へのコメント

  • くろくろ(・ω・)

    このスクリプトダウンロードさせていただきました!
    ひとつ設定箇所が分からないのですが、ピクセルの設定で元のワールドマップサイズが224×180、取り込んだ画像が500×401の場合、ピクセルはどう設定したらいいでしょうか?・・・(゜_゜i)タラー・・・
    2012年10月15日 12:14
  • くろくろ(・ω・)

    連続投稿すみません、ピクセルサイズは自分の好みでいいんですね!

    スイッチ操作でつまづきましたが、世界地図入手条件で自動実行、そのあとセルフスイッチで何も設定せずに無事にワールドマップ使えました!

    あとは画像の取り込みが甘いのか、若干、位置が上にずれてしまいます(´・ω・`)

    画像のサイズが悪いのか、それとも、トリミングの時点でミスをしたのか、あるいは両方なのか…ちゃんと縦横比を維持して縮小したんですけど…これが分かりません。
    2012年10月15日 12:43
  • くろくろ(・ω・)

    一日に何度もすみません(´・ω・`)

    自己解決しました!!ヽ(´∀`*)ノワーィヽ(*´∀`)ノワーィ

    やはりトリミングの問題だったようです。
    ただ、最初に入れた画像と無事成功した画像のトリミング方法に違いは無かったのですが…

    ただのうっかりミスだったのかもしれません。

    とにかく、このスクリプトは神スクリプトです!!
    大事に使わせていただきます(・ω・)ノシ
    2012年10月15日 14:21
  • SOLA

    >くろくろ(・ω・) さん
     すみません、昨日は一日ネット環境に繋げなかったもので、返信が遅れてしまいました……
     ダウンロード報告ありがとうございます(´∀`*)

     ひとまず問題は解決されたようで何よりです。
     小ネタとして、元マップとマップサイズの縮尺は、実は整数の倍数にすると矩形のピクセルサイズを求めやすくなったりします。
     例)224×180:448×360=2px

     ズレに悩んだ理由は、2つ考えられます。
     1つ、くろくろさんの言う通り、トリミングの失敗(倍率が低いとかなりズレが気になると思います)。
     2つ、縮尺倍率が2.23倍だった為、小数点以下分のズレが起きたもの。

     スイッチの入れ方は入手方法によりますが、自動実行でなくても可能ですよ。
     例)人に話しかけるなどで地図を手に入れる場合

     1P目
      ■トリガー:Aボタン
      ■実行内容↓
       文章の表示:「この地図、いらないからあげるね」
       文章の表示:「地図を手に入れた!」
       アイテムの増減:[地図]+1
       スイッチの操作:[013:地図使用可能]=ON

     2P目
      ■出現条件:スイッチ 013:地図使用可能 がON
      (地図を繰り返しもらわない為の2P目)

     このスクリプトはすごくシンプルに作ってあるので、難しいこと(キャラ表示とか)はできませんが、お役に立てたなら嬉しいです。
    2012年10月16日 17:38
  • さめはら

    ワールドマップのスクリプトをダウンロードさせていただきました。

    正常に地図は開かれるのですが、バトルで攻撃、防御、スキル、アイテムすべて使用できない状態になってしまいます。

    初期プロジェクトに入れても同様の状態になってしまいました。
    なにかよからぬ設定をしてしまったのでしょうか?
    2012年12月23日 16:26
  • さめはら

    いろいろ試した結果、原因がわかりました。
    定数(ワールドマップ使用可能マップID)で設定したマップ以外で戦闘すると、攻撃も防御もスキルも、何も行えない状態になるようです。

    すべてのマップでワールドマップを使用できるように設定すれば、問題なく戦闘を行えると思うのですが、もっといい解決法があれば、教えていただけると幸いです。
    2012年12月23日 16:36
  • SOLA

    >さめはらさん
     返信遅れました。
     ダウンロード及び不具合報告をありがとうございます。

     それは、致命的なバグですね……。
     戦闘での再現は行わなかったので、こちらの確認ミスでもあります。
     年の瀬で家に腰を据えることがなかなかできないので即対応は難しいですが、それでも宜しければ少々お時間を頂きたいです。

     原因究明についても絞って頂き、助かりました。
     引き続き何か問題などございましたら、お気軽に情報をお寄せ下さいませ。
    2012年12月26日 22:51
  • くろくろ(・ω・)

    _/\○_ヒャッ  ε=\___○ノホーウ!!!
    知らぬ間にバージョンアップされてましたね(`・ω・´)
    実は、こちらのスクリプトを入れて、戦闘テストが出来なかったので、報告したほうがいいのか、他のスクリプトとの競合なのか分からなかったのです。
    今度は大丈夫そうですね(・ω・)ノシ
    ありがとうございます。
    2013年03月18日 06:36
  • SOLA

    > くろくろ(・ω・)さん
     なぜかコメント一覧が更新されておらず、今気付きました。

     バグ報告は去年なのに、対応が遅れてしまって申し訳なかったです。
     DLして下さった他の方も気付いてくれるとよいのですが……

     競合なのか、バグなのかは新規プロジェクトで動かしてみないとわかりづらいですよね。
     まさか戦闘に影響が出ているとは思ってなかったので、ご迷惑をおかけしました。
    2013年03月20日 21:40
  • キノ

    始めまして、キノと申します。
    ワールドマップのスクリプトダウンロードさせいただきました。

    しかしこちらの不備で申し訳ないのですがトリミングがどうやらうまくいかないようでして、かなりのズレが生じてしまっています。
    (元のマップはサンプルのフィールド1『140×140』を使用しております。)

    お手数ですがトリミング時の注意事項や設定などご教授いただければ幸いです。
    2013年06月06日 00:13
  • SOLA

    >キノさん
     初めまして、コメント及びDLありがとうございます。

     ズレについてですが、トリミングした画像のサイズはおいくつになっていますか?

     現時点でアドバイスできそうなことは、矩形サイズが整数になる比率であること(トリミング画像÷元画像の数値)が望ましい、ということです。
     計算上、矩形サイズが小数点などになってしまうとズレが生じるかと思います。

    例)元画像が140x140の場合
    トリミング→280x280にする(矩形サイズは280÷140で2)
    トリミング→420x420にする(矩形サイズは420÷140で3)
    ※ 420x420だとツクールのプレイ画面から少し見切れますが、一応表示自体は可能です。
    2013年06月06日 21:23
  • キノ

    返信が遅くなってしまい、申し訳ありませんっ
    このような初歩的なことにお答えいただいてありがとうございます。

    トリミングしたサイズですがツクールの製作画面の地図を1/8サイズにて、スクリーンショットし、余分な所を削除したサイズで
    561×562 になっています。
    これを教えていただいた上記サイズであるpx280×280(縦横比を維持して)にサイズ変更し、インポート(×1にして)したのですがやはり大幅なズレが生じる。
    といった様子です。

    因みにトリミングに使用したのは内蔵されているペイントツールを使用しました。

    何度もこのような質問をしてしまって本当に申し訳ありませんっ
    2013年06月07日 23:48
  • SOLA

    >キノさん
     いえいえ、私も勉強中の身で、自分がわかる範囲でしかお答えできませんし……お気になさらず★

     詳細な情報提供をありがとうございました。
     キノさんと同条件でトリミングしインポートしたのですが、こちらでは大きなズレを確認することはできませんでした。
    (インポートの際の"x1"は、ただの表示確認の為の倍率なので気にしなくてOKですよ)

    ○ 定数(おまけ2:位置情報用矩形の設定)の"POS_RECT_SIZE"は2にしてありますでしょうか?
     記事にある通り、画像サイズによってはここ(矩形サイズ)を変更しないといけないのです。

     もし、ここが2に設定してあって、他のスクリプト素材を利用していた場合はスクリプト競合の可能性が出てきます。
    2013年06月08日 01:39
  • キノ

    申し訳ありません…

    上記お答えに基づき矩形サイズを2に変更したのち試したところやはりずれが生じてしまい、
    ようやくスクリプトの競合だというとこが判明したしました…
    (新規プロジェクトで作成したところ問題なく作動されました)

    お答えいただいておきながらこのような結果になってしまい、本当に申し訳ありません…

    しかしながらこのワールドマップ表示のスクリプトは大変に素晴らしいものですので是非とも使わせていただきたいと思います。

    こちらの不手際でありながら丁寧にお答えいただき、本当にありがとうございました。

    またいまさらで失礼なのですがこちらではエスケープのスクリプトもお借りさせていただいております。
    どちらのスクリプトも大切に使わせていただきます!
    2013年06月08日 03:11
  • SOLA

    >キノさん
     おはようございます。

     ありゃま、競合でしたか。
     でも、原因が判明したことは何よりです。
     必ず動作してくれるとは限りませんが、スクリプトの挿入位置(素材の順番)を上の方にしてみたり下の方にしてみたりすることで正常に動くことも有り得ますので参考までに。

     合わせて、エスケープの利用報告もありがとうございます。
     少しでもキノさんのお力になれたのなら幸いです。
    2013年06月08日 09:44
  • パンケーキ

    スクリプト利用させていただきます。

    一点ご質問なのですが、
    ワールドマップ上での位置表示は無事設定できたのですが、そのあと町や村に入ったあとワールドマップを開くと現在位置が別の位置に移ってしまいます。
    その町の中ではワールドマップでは「常に特定の位置」が表示できる方法はどうすればよろしいでしょうか?

    ご回答お待ちしております。
    2016年04月13日 11:58
  • SOLA

    >パンケーキさん
    こんにちは、ご訪問及びコメントありがとうございます。

    以下、ご質問の回答です。

    当スクリプトは「定数(ワールドマップ使用可能マップID)」で設定したマップ上でのみ利用可能なため、町の中(使用可能マップID以外)で世界地図を開くのは想定外の挙動となります。

    少し簡単に仕組みをお話ししますと、

    1.地図を開く
    2.(現在の)プレイヤーやイベントなどの位置を確認する

    という手順です。
    特に、町やダンジョンの位置はイベントIDでチェックしているので、別マップへ行くと地図上の町などはズレて表示されてしまいます。

    この仕様の関係上「(町の中で)常に特定の位置を表示するのは難しい」です。
    ワールドマップ以外では世界地図を使用不可にする、などでご対応頂ければと思います。
    2016年04月13日 19:40
  • パンケーキ

    ご回答ありがとうございます。

    ワールドマップ以外では使用できないような設定にしたいと思います。

    あともう一つお聞き致します。
    主人公の現在位置を示す短形?というのでしょうか、正方形のマークをプレイヤーのキャラチップに変更することはできますでしょうか?

    続けてで申し訳ないですが、ご回答お待ちしております。
    2016年04月13日 22:40
  • SOLA

    >パンケーキさん
    ご確認ありがとうございます。

    矩形(くけい)についての回答ですが、こちらは画像素材を取り込んでいるのではなく、ツクール側で描画させているため、現行のスクリプトではキャラチップなどに変更することはできません。
    (かなりシンプルな作りになっている感じです)
    2016年04月14日 22:36
  • れい

    はじめまして、れいと申します。
    スプリクトをダウンロードさせていただきました。
    世界地図のスプリクトは大変ありがたく、重宝させていただいております。

    大変申し訳ないのですが、こちらの不手際か問題が発生しており、本来ならば「指定したワールドマップ使用可能IDのマップでのみ地図を開ける」はずが、「指定したマップIDでのみ地図が開けない」という状況にあり、私自身では解決できず困窮しております。
    お手数ですが、解決方法、アドバイス等ご教示いただければ幸いです。
    2016年04月24日 21:39
  • SOLA

    >れいさん
    すみません、返信が遅れてしまいました。

    当方で確認したところ、こちらの環境では再現できませんでした。
    れいさんの環境で新規プロジェクトでも同様の不具合が発生するか、ご確認頂けますでしょうか?
    (他サイト様の素材を同時に利用されている場合は、競合の可能性がありますので、その確認です)
    2016年04月30日 17:52
  • れい

    ご回答ありがとうございます。

    新規プロジェクトで検証した結果、こちらでも同様の症状が確認されました…。
    表示可能マップIDを1に設定し、マップをいくつか作成して検証したのですが、新規プロジェクトにおいても、ID1のマップでは開けず、ID2、3のマップでは開ける、といった具合です。
    使用可能判定スイッチをonにしていればID1のマップでも開けるのですが、onでもoffでも2、3のマップでは開けてしまいます。

    お手数をおかけして誠に申し訳ありません…<(_ _)>
    2016年04月30日 23:40
  • SOLA

    >れいさん
    ご確認ありがとうございます。
    詳細な症状説明のおかげで、こちらでも再現を確認できました!
    使用可能判定スイッチがOFFの時、アイテムから地図を使用すると想定外の挙動をしていますね……

    近日中に調査及び対応しますので、今しばらくお待ちください!
    2016年05月01日 00:12
  • SOLA

    お待たせしました。
    本日より、使用可不可まわりの挙動を修正したVer.1.0.2を公開致します。
    391行目「○ スキル/アイテムの共通使用可能条件チェック」以降の加筆修正をしております。

    既にご利用の皆様にはお手数をおかけしますが、最新のVerをお使いください。

    >れいさん
    改めまして、不具合のご報告ありがとうございました。
    2016年05月13日 01:41
  • れい

    迅速な対応ありがとうございます。

    最新のVerをダウンロードさせていただきましたところ、問題を解消することができました。
    本当にありがとうございました!
    これからも重宝させていただきます。お手数をおかけしました。
    2016年05月13日 18:15
  • SOLA

    >れいさん
    ご確認&ご報告ありがとうございました。
    これからも当サイトをよろしくお願いします(o´・∀・)o))
    2016年05月15日 17:23
  • x

    こちらのスクリプトを有料ゲームで使用したいのですが
    よろしいでしょうか?
    2018年07月04日 22:36
  • SOLA

    >xさん
    こんにちは、ご訪問及びコメントありがとうございます。
    返信が遅くなり、大変申し訳ございません。

    当ブログに掲載している素材(本スクリプトを含む)は、有償無償にかかわらず、利用規約に反しない範囲であればご自由にご利用くださいませ。
    また、他スクリプトの競合に関しましては、補償致しかねますことを予めご了承いただければと思います。
    開発がスムーズに進みますよう、微力ながらお祈りしております。
    2018年07月07日 02:10
  • x

    ありがとうございます!
    心から感謝します!
    2018年07月07日 19:32

この記事へのトラックバック