解決)全体地図の表示方法

アバター
こめかみ
記事: 112
登録日時: 2017年9月06日(水) 19:34
連絡する:

解決)全体地図の表示方法

投稿記事 by こめかみ »

同じサイズの小マップを複数つなげてゲーム全体のマップを構成しています。
プレイ中に全体マップ(全体地図)を任意で表示したいのですが、その際に行ったことのあるマップのみ可視化したいです。※実際の画面には線や文字はありません。
現在、全体マップに複数のマスクを掛け、小マップ進入時にスイッチがONになり、その部分だけマスクが外れるという方法をピクチャで表現しようとしています。
サンプル画像では縦3×横3の9マップですが、実際は縦10×横10の100マップあり、(他にもピクチャを使用する為)ピクチャが足りないです。
漠然とした質問なのですが、何かスマートに処理できる良い方法はないでしょうか?
添付ファイル
map01.png
map02.png
最後に編集したユーザー こめかみ [ 2024年10月06日(日) 17:25 ], 累計 1 回
ゆわか
記事: 400
登録日時: 2015年11月10日(火) 20:08
連絡する:

Re: 全体地図の表示方法

投稿記事 by ゆわか »

例えば、1画面に100マップ分一度に表示するのではなく
5×5の25マップずつを4画面に分けて表示するとかなら
一度に使用するピクチャー数を1/4に減らせますけど、ダメですか?

サンプルでは、マップの内容が鮮明にわかりますが
10×10を一場面に並べると、一マスが82×62くらいになるので
ほぼ、出入り口がどのあたりに合ってどうつながってるかくらいしか
わからないとおもいます。
(スクショそのままでつなげてしまうと、正直出入口がどこかもわからないくらいと思います)

そういう状態でもいいので100枚全部表示したいということであれば
ねこまさんのピクチャ合成プラグイン  MpiComposePicture.js
などをお借りするのががよさそうだなと思います。
viewtopic.php?f=5&t=3772#google_vignette
これは2枚のピクチャを1枚に合成してくれるので
ピクチャー表示枠2個あればOKになります。多分。
アバター
WTR
記事: 625
登録日時: 2015年12月22日(火) 19:14

Re: 全体地図の表示方法

投稿記事 by WTR »

スマートかどうかわかりませんが
ピクチャの枚数だけが問題なのであれば上限を取っ払ってしまえばいいかもしれません。
注意点なんかも含めて以下が参考になるかと思います。
viewtopic.php?t=4008
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
アバター
こめかみ
記事: 112
登録日時: 2017年9月06日(水) 19:34
連絡する:

Re: 全体地図の表示方法

投稿記事 by こめかみ »

ゆわか様
ご回答ありがとうございます。
ゲームのスタイル上、100マップ全てを表示したいです。
マップの作りがぼんやりわかるくらいが都合よく、画像が小さくなる点については問題ないと考えております。
ねこま様のピクチャ合成プラグインをお借りしてみたのですが、上手く使い方がわからずで......
全体マップとマスク、ピクチャ2個分で解決する方法があるか、もう少しいじってみようと思います。

ゆわか さんが書きました:例えば、1画面に100マップ分一度に表示するのではなく
5×5の25マップずつを4画面に分けて表示するとかなら
一度に使用するピクチャー数を1/4に減らせますけど、ダメですか?

サンプルでは、マップの内容が鮮明にわかりますが
10×10を一場面に並べると、一マスが82×62くらいになるので
ほぼ、出入り口がどのあたりに合ってどうつながってるかくらいしか
わからないとおもいます。
(スクショそのままでつなげてしまうと、正直出入口がどこかもわからないくらいと思います)

そういう状態でもいいので100枚全部表示したいということであれば
ねこまさんのピクチャ合成プラグイン  MpiComposePicture.js
などをお借りするのががよさそうだなと思います。
viewtopic.php?f=5&t=3772#google_vignette
これは2枚のピクチャを1枚に合成してくれるので
ピクチャー表示枠2個あればOKになります。多分。
最後に編集したユーザー こめかみ [ 2024年10月04日(金) 19:27 ], 累計 2 回
アバター
こめかみ
記事: 112
登録日時: 2017年9月06日(水) 19:34
連絡する:

Re: 全体地図の表示方法

投稿記事 by こめかみ »

WTR様
プラグインの紹介ありがとうございます。
こちらのプラグインを導入して試したのですが、競合が起きているのか、使用できませんでした。
(ピクチャ関連のプラグインを多数導入しているため、解消が難しい状況です)
ご回答いただいたのに申し訳ありません。
他にピクチャの上限を変えるプラグインがないか探す、
もしくはイベントの画像で代用できないか試してみようと思います。
WTR さんが書きました:スマートかどうかわかりませんが
ピクチャの枚数だけが問題なのであれば上限を取っ払ってしまえばいいかもしれません。
注意点なんかも含めて以下が参考になるかと思います。
viewtopic.php?t=4008
アバター
WTR
記事: 625
登録日時: 2015年12月22日(火) 19:14

Re: 全体地図の表示方法

投稿記事 by WTR »

ピクチャの上限を増やす、という一点においては競合というのはちょっと考えにくいけど…

プラグインを導入し、プラグインパラメータで上限を101以上に設定して
マップで F8 を押して出てくるデバッグコンソールに

コード: 全て選択

$gameScreen.maxPictures()
と入力するとプラグインパラメータで設定した値が戻ってこないでしょうか。
101以上のピクチャはエディタからイベントコマンドで直接指定できないので
確認のためスクリプトで表示してみるには例えば

コード: 全て選択

const picName = "ピクチャの名前"
for (let i = 1; i <= 200; i++) {
    $gameScreen.showPicture(i, picName, 0, i, 100, 100, 100, 255, 0)
}
水平に 1pix ずつずらして 200枚ピクチャを表示します。
多すぎてわけわからないかもしれませんが…
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
アバター
こめかみ
記事: 112
登録日時: 2017年9月06日(水) 19:34
連絡する:

Re: 全体地図の表示方法

投稿記事 by こめかみ »

WTR様
ご返答ありがとうございます。
該当プラグインを導入すると(プラグインをONにするだけで)、イベコンからもスクリプトからも、
ピクチャの表示自体が行われなくなってしまいます(反応しなくなる?)
WTR さんが書きました:ピクチャの上限を増やす、という一点においては競合というのはちょっと考えにくいけど…

プラグインを導入し、プラグインパラメータで上限を101以上に設定して
マップで F8 を押して出てくるデバッグコンソールに

コード: 全て選択

$gameScreen.maxPictures()
と入力するとプラグインパラメータで設定した値が戻ってこないでしょうか。
101以上のピクチャはエディタからイベントコマンドで直接指定できないので
確認のためスクリプトで表示してみるには例えば

コード: 全て選択

const picName = "ピクチャの名前"
for (let i = 1; i <= 200; i++) {
    $gameScreen.showPicture(i, picName, 0, i, 100, 100, 100, 255, 0)
}
水平に 1pix ずつずらして 200枚ピクチャを表示します。
多すぎてわけわからないかもしれませんが…
ゆわか
記事: 400
登録日時: 2015年11月10日(火) 20:08
連絡する:

Re: 全体地図の表示方法

投稿記事 by ゆわか »

ねこまさんのプラグインの使用例を置いときます。
詳しい説明はちょっと難しいので、作例から読み取ってください。
合成方法の種類については、source-over でネット検索すると出てきます。

◆ピクチャの表示:#1, SF_ArmySoldier, 左上 (0,0), (100%,100%), 255, 通常
◆ピクチャの表示:#2, Rat, 左上 (0,0), (100%,100%), 255, 通常
◆プラグインコマンド:compose_picture 1 2 source-over 50 0
◆ピクチャの表示:#2, SF_ArmySoldier, 左上 (0,0), (100%,100%), 255, 通常
◆プラグインコマンド:compose_picture 1 2 source-over 0 100
◆ピクチャの消去:#2
◆ピクチャの移動:#1, 左上 (100,0), (100%,100%), 255, 通常, 60フレーム (ウェイト)

上記のように入力してテストプレイした時に
3キャラ表示されて、同時に移動していたら成功です。

画像を上記の通りに指定した場合、追加したキャラの足が見切れると思います。
これは、合成先つまり、1番の画像の大きさが元になるためです。
アバター
WTR
記事: 625
登録日時: 2015年12月22日(火) 19:14

Re: 全体地図の表示方法

投稿記事 by WTR »

こめかみ さんが書きました: 該当プラグインを導入すると(プラグインをONにするだけで)、イベコンからもスクリプトからも、
ピクチャの表示自体が行われなくなってしまいます(反応しなくなる?)
プラグインが複数の機能を提供するものなので詳細は判じかねますが
一部に競合する要素があるのかもしれないですね。
上限を増やすだけの単機能であれば以下で事足りるので試してみてもよいかもしれません。
パラメータも用意してない手抜きなので 200 は適当に編集してください。

コード: 全て選択

(() => {
    "use strict";
    Game_Screen.prototype.maxPictures = function() {
        return 200;
    };
})();
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
アバター
こめかみ
記事: 112
登録日時: 2017年9月06日(水) 19:34
連絡する:

Re: 全体地図の表示方法

投稿記事 by こめかみ »

ゆわか様
具体例ありがとうございます。
まだ全把握ではないですが、合成の仕様がわかりました!
※簡略的ですが、3行目の座標をズラしたコマンドを複数使用しても大丈夫そうでしたので
今回はその方法を利用しようと思います!
返信が遅くなり申し訳ありません。
ゆわか さんが書きました:ねこまさんのプラグインの使用例を置いときます。
詳しい説明はちょっと難しいので、作例から読み取ってください。
合成方法の種類については、source-over でネット検索すると出てきます。

◆ピクチャの表示:#1, SF_ArmySoldier, 左上 (0,0), (100%,100%), 255, 通常
◆ピクチャの表示:#2, Rat, 左上 (0,0), (100%,100%), 255, 通常
◆プラグインコマンド:compose_picture 1 2 source-over 50 0
◆ピクチャの表示:#2, SF_ArmySoldier, 左上 (0,0), (100%,100%), 255, 通常
◆プラグインコマンド:compose_picture 1 2 source-over 0 100
◆ピクチャの消去:#2
◆ピクチャの移動:#1, 左上 (100,0), (100%,100%), 255, 通常, 60フレーム (ウェイト)

上記のように入力してテストプレイした時に
3キャラ表示されて、同時に移動していたら成功です。

画像を上記の通りに指定した場合、追加したキャラの足が見切れると思います。
これは、合成先つまり、1番の画像の大きさが元になるためです。
最後に編集したユーザー こめかみ [ 2024年11月08日(金) 07:37 ], 累計 1 回
返信する

“MV:質問”に戻る