2012/10/11

[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)タラー・・・
Posted by くろくろ(・ω・) at 2012年10月15日 12:14
連続投稿すみません、ピクセルサイズは自分の好みでいいんですね!

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

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

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

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

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

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

とにかく、このスクリプトは神スクリプトです!!
大事に使わせていただきます(・ω・)ノシ
Posted by くろくろ(・ω・) at 2012年10月15日 14:21
>くろくろ(・ω・) さん
 すみません、昨日は一日ネット環境に繋げなかったもので、返信が遅れてしまいました……
 ダウンロード報告ありがとうございます(´∀`*)

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

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

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

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

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

 このスクリプトはすごくシンプルに作ってあるので、難しいこと(キャラ表示とか)はできませんが、お役に立てたなら嬉しいです。
Posted by SOLA at 2012年10月16日 17:38
ワールドマップのスクリプトをダウンロードさせていただきました。

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

初期プロジェクトに入れても同様の状態になってしまいました。
なにかよからぬ設定をしてしまったのでしょうか?
Posted by さめはら at 2012年12月23日 16:26
いろいろ試した結果、原因がわかりました。
定数(ワールドマップ使用可能マップID)で設定したマップ以外で戦闘すると、攻撃も防御もスキルも、何も行えない状態になるようです。

すべてのマップでワールドマップを使用できるように設定すれば、問題なく戦闘を行えると思うのですが、もっといい解決法があれば、教えていただけると幸いです。
Posted by さめはら at 2012年12月23日 16:36
>さめはらさん
 返信遅れました。
 ダウンロード及び不具合報告をありがとうございます。

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

 原因究明についても絞って頂き、助かりました。
 引き続き何か問題などございましたら、お気軽に情報をお寄せ下さいませ。
Posted by SOLA at 2012年12月26日 22:51
_/\○_ヒャッ  ε=\___○ノホーウ!!!
知らぬ間にバージョンアップされてましたね(`・ω・´)
実は、こちらのスクリプトを入れて、戦闘テストが出来なかったので、報告したほうがいいのか、他のスクリプトとの競合なのか分からなかったのです。
今度は大丈夫そうですね(・ω・)ノシ
ありがとうございます。
Posted by くろくろ(・ω・) at 2013年03月18日 06:36
> くろくろ(・ω・)さん
 なぜかコメント一覧が更新されておらず、今気付きました。

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

 競合なのか、バグなのかは新規プロジェクトで動かしてみないとわかりづらいですよね。
 まさか戦闘に影響が出ているとは思ってなかったので、ご迷惑をおかけしました。
Posted by SOLA at 2013年03月20日 21:40
始めまして、キノと申します。
ワールドマップのスクリプトダウンロードさせいただきました。

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

お手数ですがトリミング時の注意事項や設定などご教授いただければ幸いです。
Posted by キノ at 2013年06月06日 00:13
>キノさん
 初めまして、コメント及びDLありがとうございます。

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

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

例)元画像が140x140の場合
トリミング→280x280にする(矩形サイズは280÷140で2)
トリミング→420x420にする(矩形サイズは420÷140で3)
※ 420x420だとツクールのプレイ画面から少し見切れますが、一応表示自体は可能です。
Posted by SOLA at 2013年06月06日 21:23
返信が遅くなってしまい、申し訳ありませんっ
このような初歩的なことにお答えいただいてありがとうございます。

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

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

何度もこのような質問をしてしまって本当に申し訳ありませんっ
Posted by キノ at 2013年06月07日 23:48
>キノさん
 いえいえ、私も勉強中の身で、自分がわかる範囲でしかお答えできませんし……お気になさらず★

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

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

 もし、ここが2に設定してあって、他のスクリプト素材を利用していた場合はスクリプト競合の可能性が出てきます。
Posted by SOLA at 2013年06月08日 01:39
申し訳ありません…

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

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

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

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

またいまさらで失礼なのですがこちらではエスケープのスクリプトもお借りさせていただいております。
どちらのスクリプトも大切に使わせていただきます!
Posted by キノ at 2013年06月08日 03:11
>キノさん
 おはようございます。

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

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

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

ご回答お待ちしております。
Posted by パンケーキ at 2016年04月13日 11:58
>パンケーキさん
こんにちは、ご訪問及びコメントありがとうございます。

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

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

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

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

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

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

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

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

続けてで申し訳ないですが、ご回答お待ちしております。
Posted by パンケーキ at 2016年04月13日 22:40
>パンケーキさん
ご確認ありがとうございます。

矩形(くけい)についての回答ですが、こちらは画像素材を取り込んでいるのではなく、ツクール側で描画させているため、現行のスクリプトではキャラチップなどに変更することはできません。
(かなりシンプルな作りになっている感じです)
Posted by SOLA at 2016年04月14日 22:36
はじめまして、れいと申します。
スプリクトをダウンロードさせていただきました。
世界地図のスプリクトは大変ありがたく、重宝させていただいております。

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

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

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

お手数をおかけして誠に申し訳ありません…<(_ _)>
Posted by れい at 2016年04月30日 23:40
>れいさん
ご確認ありがとうございます。
詳細な症状説明のおかげで、こちらでも再現を確認できました!
使用可能判定スイッチがOFFの時、アイテムから地図を使用すると想定外の挙動をしていますね……

近日中に調査及び対応しますので、今しばらくお待ちください!
Posted by SOLA at 2016年05月01日 00:12
お待たせしました。
本日より、使用可不可まわりの挙動を修正したVer.1.0.2を公開致します。
391行目「○ スキル/アイテムの共通使用可能条件チェック」以降の加筆修正をしております。

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

>れいさん
改めまして、不具合のご報告ありがとうございました。
Posted by SOLA at 2016年05月13日 01:41
迅速な対応ありがとうございます。

最新のVerをダウンロードさせていただきましたところ、問題を解消することができました。
本当にありがとうございました!
これからも重宝させていただきます。お手数をおかけしました。
Posted by れい at 2016年05月13日 18:15
>れいさん
ご確認&ご報告ありがとうございました。
これからも当サイトをよろしくお願いします(o´・∀・)o))
Posted by SOLA at 2016年05月15日 17:23
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/296818492
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
タグクラウド
2人協力 Abyss_Code Blader CLOSET様対応素材 DL_OK DL素材 FIELD_OF_EPIC mabinogi map MH4 MH4_スキル詳細 MH4_装備性能 MH4_装備試着 MHF mhp3 MHP3_NAMCO MHP3_公式画像 MHP3_装備性能 MHP3_装備試着 PROJECT_F RGSS2 RGSS3 RPGツクールVX RPGツクールVXAce SIDE_STORY その光は淡く碧く とびだせどうぶつの森_マイデザイン とびだせどうぶつの森_日記 とび森マップ ぷよぷよふぁんくらぶ イベントサンプル エステレラ エヴァコラボ ガンナー用スキル ガンナー用装備 ガンランス キャラチップ クエスト別装備 クロスディライブ クロムマグナ グリココラボ ゲームプレイ_雑感 システムグラフィック ショコラフォレスト スザク スラッシュアックス タイルセット ニコニコ動画 ニルバーナ展覧会機関様対応素材 ノクトニアポリス ハッピーホームデザイナー_日記 ハンマー バナー ピクチャ プロジェクトF ヘビィボウガン マップ_RPGツクールVX マップ_RPGツクールVXAce マップチップ ライトボウガン ラクガキ ランス ヴェルタ 倒れグラフィック 八百万神秘譚 公式画像_RPGツクールDS 初音ミクコラボ 制作日誌 剣士用スキル 剣士用装備 双剣 双翼のロストエデン 古の森の千年桜 大剣 天上岬 太刀 役一覧 心竜天翔 敵グラフィック 敵別装備 日記 桃娘伝 歌詞 武器別スキル 武器別装備 歩行グラフィック 片手剣 狩猟笛 神竜降臨 空戦のドルキマス 素材_RPGツクールVX 聖サタニック女学院 聖剣伝説_LOM 製作日誌 覇眼戦線 訣別のクロニクル 資料 超魔道列伝 追憶のレディアント 顔グラフィック 高校生クイズコラボ 魔法使いと黒猫のウィズ 魔轟三鉄傑 麻雀 黄昏メアレス