ミニマップとマッピング
下記のプラグインを更新しました。
ミニマップ標示
それと新しいプラグインを公開しました。
ミニマップ標示 マッピング
「ミニマップ標示」の更新をする際には注意点があります。
今回、プラグインパラメータの初期値に変更があります。
詳しくは後で書きますが、色を設定する項目すべてが変更されているため、
それらを適用するにはいったんこのプラグインを削除し、再度導入する必要があります。
別のプラグインに置き換えて保存し、再度戻すでもOKです。
その際、すべてのパラメータが初期化されてしまいますがご了承ください。
一応、これをやらなくても動作はします。
(というか、今まで間違ってたけど気づいてなかっただけです)
更新内容の詳細です。
いやはや、もう今週中に公開は無理かと思いました。
話が長くなりそうなので、「マッピング」についてはまた来週。
今回一番苦労したのは、「ミニマップ表示」のほうで見つかった不具合です。
不具合といっても、たぶん使ってる人のだいたいが気づいてないようなものです。
まずはマーカーやマーキングの表示がマップの境目付近で表示がおかしくなる不具合。
ループしていないマップなのに、マップの反対側にマーキングが表示されたり、
逆にループするマップなのに、マップの端で途切れたりしてました。
マップ端でマーキングしなければ遭遇しない不具合です。
これはもう後述のほうに比べたら大したものではありません。
問題だったのが、ミニマップ画像の自動生成でタイルの色のアルファ値が適用されない不具合です。
もう全然解決しなくて、何日かは頭を悩ませてるだけでした。
不具合の原因は二つ。
ひとつはアルファ値を0~1.0で設定しないといけないのに対し、
私は0~255で設定していたことです。
これは完全に私のミス。
そして、今回の更新でいったん削除しないといけない理由です。
色のデフォルト値がすべて0~255で設定しているため、これを0~1.0に置き換えないと
アルファ値が適用されません。
手動で書き換えてもよいのですが、おそらく削除したほうが手っ取り早いです。
このミスには一日悩んで気づいたのですが、
それでも解決せずにさらに悩むこと数日。
なぜアルファ値だけが無視されるのか?
他の画像ならアルファ値が適用されるのに、なぜミニマップだけがダメなのか?
ようやく突き止めた原因が、ぼかし処理(ブラー)でした。
なんと、ツクールMVのぼかし処理は不透明度を無視する仕様になっていたのです。
まさか、こんな仕様変更があるとは思いもしませんでした。
で、原因は分かったのですがどう対処していいのかわからない。
私はツクールのスクリプトはわかっても、
htmlだのCanvasだのは何がどういう設定なのかさっぱりです。
わからない以上はすべての設定を試してみるしかありません。
もう総当たりです。
すべての設定を試し、だめなら変更する設定を増やして再び総当たり。
変更する設定が増えるたびに、総当たりする量は指数関数的に増えます。
正直、理想のぼかし処理なんてないのかと思いました。
そもそも、ツクールを作ったプロの方たちですら、
不透明度を無視することでしか実装できなかった機能です。
ですがひたすら設定をいじってはテストプレイを繰り返し、そしてついに――
ついに――
無理だという結論に達しました。(笑
ですが、ただあきらめたというわけではなく、
限りなく理想に近いぼかし処理は見つけることができたのでそちらを実装しています。
おそらく人の目ではおかしい部分などわかりません。
不透明度255と252の違いなんてわかりません。
なのでこれで良しとします。
そして「マッピング」の方はちょっと新しいことに挑戦したわけですが、
これはスクリプトの話になるのでまた来週。
ミニマップ標示
それと新しいプラグインを公開しました。
ミニマップ標示 マッピング
「ミニマップ標示」の更新をする際には注意点があります。
今回、プラグインパラメータの初期値に変更があります。
詳しくは後で書きますが、色を設定する項目すべてが変更されているため、
それらを適用するにはいったんこのプラグインを削除し、再度導入する必要があります。
別のプラグインに置き換えて保存し、再度戻すでもOKです。
その際、すべてのパラメータが初期化されてしまいますがご了承ください。
一応、これをやらなくても動作はします。
(というか、今まで間違ってたけど気づいてなかっただけです)
更新内容の詳細です。
いやはや、もう今週中に公開は無理かと思いました。
話が長くなりそうなので、「マッピング」についてはまた来週。
今回一番苦労したのは、「ミニマップ表示」のほうで見つかった不具合です。
不具合といっても、たぶん使ってる人のだいたいが気づいてないようなものです。
まずはマーカーやマーキングの表示がマップの境目付近で表示がおかしくなる不具合。
ループしていないマップなのに、マップの反対側にマーキングが表示されたり、
逆にループするマップなのに、マップの端で途切れたりしてました。
マップ端でマーキングしなければ遭遇しない不具合です。
これはもう後述のほうに比べたら大したものではありません。
問題だったのが、ミニマップ画像の自動生成でタイルの色のアルファ値が適用されない不具合です。
もう全然解決しなくて、何日かは頭を悩ませてるだけでした。
不具合の原因は二つ。
ひとつはアルファ値を0~1.0で設定しないといけないのに対し、
私は0~255で設定していたことです。
これは完全に私のミス。
そして、今回の更新でいったん削除しないといけない理由です。
色のデフォルト値がすべて0~255で設定しているため、これを0~1.0に置き換えないと
アルファ値が適用されません。
手動で書き換えてもよいのですが、おそらく削除したほうが手っ取り早いです。
このミスには一日悩んで気づいたのですが、
それでも解決せずにさらに悩むこと数日。
なぜアルファ値だけが無視されるのか?
他の画像ならアルファ値が適用されるのに、なぜミニマップだけがダメなのか?
ようやく突き止めた原因が、ぼかし処理(ブラー)でした。
なんと、ツクールMVのぼかし処理は不透明度を無視する仕様になっていたのです。
まさか、こんな仕様変更があるとは思いもしませんでした。
で、原因は分かったのですがどう対処していいのかわからない。
私はツクールのスクリプトはわかっても、
htmlだのCanvasだのは何がどういう設定なのかさっぱりです。
わからない以上はすべての設定を試してみるしかありません。
もう総当たりです。
すべての設定を試し、だめなら変更する設定を増やして再び総当たり。
変更する設定が増えるたびに、総当たりする量は指数関数的に増えます。
正直、理想のぼかし処理なんてないのかと思いました。
そもそも、ツクールを作ったプロの方たちですら、
不透明度を無視することでしか実装できなかった機能です。
ですがひたすら設定をいじってはテストプレイを繰り返し、そしてついに――
ついに――
無理だという結論に達しました。(笑
ですが、ただあきらめたというわけではなく、
限りなく理想に近いぼかし処理は見つけることができたのでそちらを実装しています。
おそらく人の目ではおかしい部分などわかりません。
不透明度255と252の違いなんてわかりません。
なのでこれで良しとします。
そして「マッピング」の方はちょっと新しいことに挑戦したわけですが、
これはスクリプトの話になるのでまた来週。
ミニマップオプション苦戦中
ミニマッププラグインのオプション制作にかなり苦戦してます。
いろいろと見直してみたところ、ちょっと考えてた機能がいくつか実装できないうえに
想像以上にめんどくさいスクリプトを組まなくてはなさそうです。
MVのプラグイン作りでめんどくさいのって、キーボードやコントローラだけでなく
タッチ操作でも動くように作らないといけないところなんですよね。
2つのプラグインを作ってるのと変わりません。
そしていつでも切り替えられるようにするってことも考慮しないといけません。
さらにはタッチ操作はタッチしかないので、それだけで動くように考えないといけません。
シフトキーやページ切り替えボタンを使った操作が実装できないわけです。
タッチという一つの操作で複数のことができる機能を自分で作らないといけないので、
作業量が半端ないわけなんです。
そんなこんなでかなり時間がかかるということが分かったので、
前回言ってたオプションは後回しにして、VXAce版であった「マッピング」オプションを
先に作ろうと思います。
こっちは操作とかないし、移植なのでたぶん来週には公開できるはず…?
いろいろと見直してみたところ、ちょっと考えてた機能がいくつか実装できないうえに
想像以上にめんどくさいスクリプトを組まなくてはなさそうです。
MVのプラグイン作りでめんどくさいのって、キーボードやコントローラだけでなく
タッチ操作でも動くように作らないといけないところなんですよね。
2つのプラグインを作ってるのと変わりません。
そしていつでも切り替えられるようにするってことも考慮しないといけません。
さらにはタッチ操作はタッチしかないので、それだけで動くように考えないといけません。
シフトキーやページ切り替えボタンを使った操作が実装できないわけです。
タッチという一つの操作で複数のことができる機能を自分で作らないといけないので、
作業量が半端ないわけなんです。
そんなこんなでかなり時間がかかるということが分かったので、
前回言ってたオプションは後回しにして、VXAce版であった「マッピング」オプションを
先に作ろうと思います。
こっちは操作とかないし、移植なのでたぶん来週には公開できるはず…?
プラグインの更新
下記のプラグインを更新しました。
ミニマップ標示
オリジナルサブメニュー
まずは『ミニマップ表示』プラグインの変更点から。
いきなりバージョン2.0になりました。
中身が結構変わっているので、バージョンアップです。
細かな不具合を修正しましたが、大したものではありません。
たぶん、普通に使ってる分には気にならないレベルです。
プラグインパラメータで設定できる項目がちょこっと変わってます。
更新間隔やら点滅速度やら、いじらなければ従来通りです。
一番の変更点はマーキング機能を付けたことでしょう。
プラグインコマンドから指定したエリアを、色でミニマップ上に表示できる機能です。
「だいたいこの辺りに次の目標があるよー」とプレイヤーに教えたりといった使い方が
できるかなーと思ってます。
それから別マップのミニマップ画像に切り替える機能を追加しました。
「え、何に使うの?」とか思われそうですが、上記のようにプレイヤーに次の目標位置を
教えるのとかに使えるかなーと思ってます。
ついでに次のオプションプラグインへの布石でもあります。
マーキング機能と別マップに切り替える機能・・・
次のオプションはそれらを使ったものになります。
(なのでVXAce版にあったマッピングオプションはもうちょい先になります)
年初めにVXAceとMVの仕様の違いで、読み込みやらロードやらを
考慮しないといけないとか書きましたが、あれはこの別マップに切り替える機能を
つけたくて必死こいてた部分だったり。
苦労した末にようやく実装できました。
あとちょっとした変更ですが、プラグインコマンドで数値を指定する際、
変数が使用できるようになりました。
v[1]で変数1番の値を参照するといった感じです。
そして『オリジナルサブメニュー』プラグインでは、ミニマップを表示する機能を付けました。
ミニマッププラグインと併用することで、サブメニュー内でミニマップを表示できます。
別マップに切り替える機能ももちろん使えます。
全体マップの確認とかに使えるかなと思ってます。
ミニマップ標示
オリジナルサブメニュー
まずは『ミニマップ表示』プラグインの変更点から。
いきなりバージョン2.0になりました。
中身が結構変わっているので、バージョンアップです。
細かな不具合を修正しましたが、大したものではありません。
たぶん、普通に使ってる分には気にならないレベルです。
プラグインパラメータで設定できる項目がちょこっと変わってます。
更新間隔やら点滅速度やら、いじらなければ従来通りです。
一番の変更点はマーキング機能を付けたことでしょう。
プラグインコマンドから指定したエリアを、色でミニマップ上に表示できる機能です。
「だいたいこの辺りに次の目標があるよー」とプレイヤーに教えたりといった使い方が
できるかなーと思ってます。
それから別マップのミニマップ画像に切り替える機能を追加しました。
「え、何に使うの?」とか思われそうですが、上記のようにプレイヤーに次の目標位置を
教えるのとかに使えるかなーと思ってます。
ついでに次のオプションプラグインへの布石でもあります。
マーキング機能と別マップに切り替える機能・・・
次のオプションはそれらを使ったものになります。
(なのでVXAce版にあったマッピングオプションはもうちょい先になります)
年初めにVXAceとMVの仕様の違いで、読み込みやらロードやらを
考慮しないといけないとか書きましたが、あれはこの別マップに切り替える機能を
つけたくて必死こいてた部分だったり。
苦労した末にようやく実装できました。
あとちょっとした変更ですが、プラグインコマンドで数値を指定する際、
変数が使用できるようになりました。
v[1]で変数1番の値を参照するといった感じです。
そして『オリジナルサブメニュー』プラグインでは、ミニマップを表示する機能を付けました。
ミニマッププラグインと併用することで、サブメニュー内でミニマップを表示できます。
別マップに切り替える機能ももちろん使えます。
全体マップの確認とかに使えるかなと思ってます。
コメントお返事 その2
> もこむ~ さん
はじめまして、いらっしゃいませ~
ミニマッププラグインについていただいたご報告の件ですが、
申し訳ないですが私のほうでは確認できませんでした。
特に変わったスクリプトの組み方とかはしていないので、原因も私ではわかりません。
MVは環境によって異なる描写方法を行う仕様になっているので、
そのあたりと相性悪かったのかなあと想像するくらいです。
もしよろしければ、もう少し詳しい状況を教えていただければ
何か対処できるかもしれません。
よろしくおねがいします。
追記:
詳細ありがとうございます。
ミニマップをピクチャより上に表示できれば良いということですね。
それなら難しくはないので、今後の修正で変更できる設定を追加しようと思います。
スクリプトに詳しいようであれば、ミニマッププラグインの779行目以降にある
createLowerLayer を全て createUpperLayer に置き換えればミニマップが上になります。
はじめまして、いらっしゃいませ~
ミニマッププラグインについていただいたご報告の件ですが、
申し訳ないですが私のほうでは確認できませんでした。
特に変わったスクリプトの組み方とかはしていないので、原因も私ではわかりません。
MVは環境によって異なる描写方法を行う仕様になっているので、
そのあたりと相性悪かったのかなあと想像するくらいです。
もしよろしければ、もう少し詳しい状況を教えていただければ
何か対処できるかもしれません。
よろしくおねがいします。
追記:
詳細ありがとうございます。
ミニマップをピクチャより上に表示できれば良いということですね。
それなら難しくはないので、今後の修正で変更できる設定を追加しようと思います。
スクリプトに詳しいようであれば、ミニマッププラグインの779行目以降にある
createLowerLayer を全て createUpperLayer に置き換えればミニマップが上になります。
コメントお返事
コメントのお返事です。
> kappie さん
初めまして、いらっしゃいませ~
アクティブタイムバトルとコモンバトルシステムを併用についての質問への回答です。
逃走に必要なATはアクティブタイムバトル側の設定値で判定されますが、
ATの消費はコモンイベント側でする必要があります。

a.setAt(a.atRate() - 0.75)
こんな感じにスクリプトを追加することでATを消費できます。
0.75という数値が消費するATです。
好みで変更してください。
そしてついでにコモンバトルのサイトに書かれている一部の説明文が間違っていたのを修正しました。
一度仕様を変えた際に説明文の変え忘れがありました。
もしこれで躓いてしまっていたとしたら申し訳ないです。
> kappie さん
初めまして、いらっしゃいませ~
アクティブタイムバトルとコモンバトルシステムを併用についての質問への回答です。
逃走に必要なATはアクティブタイムバトル側の設定値で判定されますが、
ATの消費はコモンイベント側でする必要があります。

a.setAt(a.atRate() - 0.75)
こんな感じにスクリプトを追加することでATを消費できます。
0.75という数値が消費するATです。
好みで変更してください。
そしてついでにコモンバトルのサイトに書かれている一部の説明文が間違っていたのを修正しました。
一度仕様を変えた際に説明文の変え忘れがありました。
もしこれで躓いてしまっていたとしたら申し訳ないです。
新年あけましておめでとうございます
新年あけました。
皆さんはどんな年越ししましたか?
私はMV用プラグインの最終確認してました。
年越しそばも食べませんでした。
年賀状送るのも面倒なので私には送ってこないでねと、できる限りの人には頼んでます。
こんなツクールにのめり込める1年になるとよいなあと思います。
新しいプラグインの公開です。
ミニマップ標示
VXAce用スクリプトでは『簡易マップ表示』と呼んでいたものの移植版です。
ただ一部機能が変わっていたり削ってあったりします。
もっとPixi.jpに詳しければいろいろと出来るんでしょうけどね・・・
ちょっとスクリプトのお話。
今回の移植は思った以上に手間取りました。
移植自体は先週終わっていたので、年内に何とかなるかなと思っていたのですが、
ふとMVで仕様変更した部分は機能するのかと思って確認したら対応してませんでした。
その仕様変更の部分というのが二つありまして、一つは画像のロード時間。
ツクールMVだとブラウザ版で動作することを考えて作らないといけないので、
画像を読み込むのに時間がかかるということを考えないといけません。
まあ、今回のようなマップ切り替え時に読み込む場合は必要ないことですが、
今後の拡張機能も考えて対応することにしました。
もう一つの仕様変更はデプロイメントの際の[未使用ファイルを含まない]に
対応しないといけないということ。
こっちが厄介で、ツクールMVの仕様上、
メモ欄から指定したファイル名とプラグインパラメータで指定したファイル名しか
削除しないように指定できないのです。
つまりは[プラグインコマンド]でファイル名指定して画像を表示をした場合は、削除されてしまいます。
これが理由で、一部の機能を変更せざるを得ませんでした。
ちょっと使いづらい部分はありますが、工夫すればVXAce版と同じことができるようにはしたつもりです。
というわけで今年もよろしくお願いします。
皆さんはどんな年越ししましたか?
私はMV用プラグインの最終確認してました。
年越しそばも食べませんでした。
年賀状送るのも面倒なので私には送ってこないでねと、できる限りの人には頼んでます。
こんなツクールにのめり込める1年になるとよいなあと思います。
新しいプラグインの公開です。
ミニマップ標示
VXAce用スクリプトでは『簡易マップ表示』と呼んでいたものの移植版です。
ただ一部機能が変わっていたり削ってあったりします。
もっとPixi.jpに詳しければいろいろと出来るんでしょうけどね・・・
ちょっとスクリプトのお話。
今回の移植は思った以上に手間取りました。
移植自体は先週終わっていたので、年内に何とかなるかなと思っていたのですが、
ふとMVで仕様変更した部分は機能するのかと思って確認したら対応してませんでした。
その仕様変更の部分というのが二つありまして、一つは画像のロード時間。
ツクールMVだとブラウザ版で動作することを考えて作らないといけないので、
画像を読み込むのに時間がかかるということを考えないといけません。
まあ、今回のようなマップ切り替え時に読み込む場合は必要ないことですが、
今後の拡張機能も考えて対応することにしました。
もう一つの仕様変更はデプロイメントの際の[未使用ファイルを含まない]に
対応しないといけないということ。
こっちが厄介で、ツクールMVの仕様上、
メモ欄から指定したファイル名とプラグインパラメータで指定したファイル名しか
削除しないように指定できないのです。
つまりは[プラグインコマンド]でファイル名指定して画像を表示をした場合は、削除されてしまいます。
これが理由で、一部の機能を変更せざるを得ませんでした。
ちょっと使いづらい部分はありますが、工夫すればVXAce版と同じことができるようにはしたつもりです。
というわけで今年もよろしくお願いします。