YEP_ItemCore をfirefoxブラウザ上で動かすとアイテム画面が開けない?(解決)

アバター
terunon
記事: 76
登録日時: 2016年2月12日(金) 12:14
お住まい: 熊本県
連絡を取る:

YEP_ItemCore をfirefoxブラウザ上で動かすとアイテム画面が開けない?(解決)

投稿記事by terunon » 2016年3月14日(月) 14:48

お疲れ様です。

現在PLiCyさんでわたしが公開しているゲームにおいて、firefox環境でのみアイテム選択画面に行こうとすると rpg_core.jsの1041行め(context.strokeText)でエラー落ちを起こすという現象に悩まされていまして、
アイテム選択画面を形成している YEP_ItemCore さん(http://yanfly.moe/2015/10/16/yep-11-item-core/)によるものなのではないか、と推測しております。
そこで、同プラグインを使用している方、あるいはこの手の問題についてよくご存知の方に情報をお伺いしたくトピックを立てさせていただきました。


他プラグインとの相互作用である可能性もあるのですが、ブラウザ依存で発生する問題であるため検証が難しく、調査が難航しているのが現状です。
そこで、以下について情報をお持ちでしたらご教示いただけないでしょうか?

・YEP_ItemCore を搭載したゲームを GitHub さん等に上げてFirefoxでプレイした場合は発生しますでしょうか?(PLiCyさん特有の問題かどうかの判断)

・プラグインが YEP_ItemCore のみであるゲームの場合、firefoxでエラーは発生しますでしょうか?(プラグイン相互作用による問題かの判断)

・javascriptをよくご存じの方にお聞きしたいのですが、YEP_ItemCore にfirefoxで使ってはいけない処理などは使われておりますでしょうか?
(以前、javascriptに詳しい方から、アイコンを拡大描画する処理が怪しいとのアドバイスをいただいており、アイコン拡大描画部分をコメントアウトしたのですが、改善しなかったのを確認しています。)


以上、原因等わかる方、同様の現象が発生しているという方、ぜひ情報をいただければと思います。
よろしくお願いいたします。


test.JPG
カテゴリの中身が空であればエラーが起きない

test2.JPG
この状態で決定を押してアイテム選択に移ろうとすると(次図へ続く)

test3.JPG
(前図の続き)エラーが出る
最後に編集したユーザー terunon on 2016年3月31日(木) 06:54 [ 編集 1 回目 ]

terunon
絵描いたり、ボカロPしたり、ツクったりしてます。

ツクールMV製ローグライクアクションアドベンチャーRPG/ニコニコ自作ゲームフェス2016敢闘賞作品
『AliasAche:エイリアスエイク』 もりもり公開中です。
紹介ページ→ http://tri-nitroterunon37.wix.com/terunon#!aliasache/fyncb
すぐにブラウザプレイするならこちら→ http://html5.plicy.net/GamePlay/19919
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: YEP_ItemCore をfirefoxブラウザ上で動かすとアイテム画面が開けない?

投稿記事by トリアコンタン » 2016年3月14日(月) 21:25

お疲れさまです。

YEP_ItemCoreのみを適用して以下を試しました。

1. ローカル実行
2. GitHubにアップロードしてFirefoxで実行

結果、いずれも特にエラーは発生しませんでした。
下記はFirefoxのキャプチャになります。
ScreenShot04428.jpg


また、YEP_ItemCoreで環境依存の処理があるかどうかについてですが、
私が見た限りでは思い当たるものはありませんでした。
巨大なアイコンを表示させている以外は、レイアウトこそ異なるものの普通のメニュー表示処理とあまり変わらないように思えました。

問題のエラーですが、文字列描画処理「Bitmap.prototype.drawText」から呼ばれる内部メソッドで発生してるようですので、何らかの文字を描画している箇所で落ちているのは、確かなようですが。。

追記
Bitmap.prototype.drawTextのコメントに以下のようなものがあり気になったのですが、調査した結果エラーを引き起こすものではなく、ただの見た目の問題のようなので、今回の件とは無関係と思われます。
// Note: Firefox has a bug with textBaseline: Bug 737852
// So we use 'alphabetic' here.

・参考
https://bugzilla.mozilla.org/show_bug.cgi?id=737852
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
アバター
terunon
記事: 76
登録日時: 2016年2月12日(金) 12:14
お住まい: 熊本県
連絡を取る:

Re: YEP_ItemCore をfirefoxブラウザ上で動かすとアイテム画面が開けない?

投稿記事by terunon » 2016年3月15日(火) 07:49

トリアコンタン様

情報ありがとうございます!
Firefox環境依存の件も細かく調べていただき大変恐縮です。ありがとうございます。

おかげさまで、原因はプラグインの相互作用か、PLiCyさん環境の問題かに絞られました。

ここまで絞られれば、あとはわたしがPLiCyさんにプラグインをYEP_ItemCoreだけにしたプロジェクトをテストアップロードして動作確認すれば結論が出そうですね。。

近々その検証を行い、改めて結果をここで報告したいと思います。


PS. ここを読まれている方で、YEP_ItemCoreを使用したプロジェクトをPLiCyさんで公開している方へ
もしおられましたら、情報を共有いただけますと幸いです。よろしくお願いいたします。
terunon
絵描いたり、ボカロPしたり、ツクったりしてます。

ツクールMV製ローグライクアクションアドベンチャーRPG/ニコニコ自作ゲームフェス2016敢闘賞作品
『AliasAche:エイリアスエイク』 もりもり公開中です。
紹介ページ→ http://tri-nitroterunon37.wix.com/terunon#!aliasache/fyncb
すぐにブラウザプレイするならこちら→ http://html5.plicy.net/GamePlay/19919
アバター
terunon
記事: 76
登録日時: 2016年2月12日(金) 12:14
お住まい: 熊本県
連絡を取る:

Re: YEP_ItemCore をfirefoxブラウザ上で動かすとアイテム画面が開けない?

投稿記事by terunon » 2016年3月23日(水) 10:35

おつかれさまです。

遅くなってしまいましたが、YEP_ItemCoreのみを搭載した新規プロジェクトをPLiCyさんに上げたところ、
やはりアイテム画面が開けない問題が発生したことを報告します。

error2.JPG


やはり、firefox環境・YEP_ItemCore・PLiCyさんという組み合わせに問題があると考えられます。

どうにかがんばってPLiCyさん以外のネット上に上げて比較できる状態を作り、
PLiCyさん公式に問い合わせてみます。
terunon
絵描いたり、ボカロPしたり、ツクったりしてます。

ツクールMV製ローグライクアクションアドベンチャーRPG/ニコニコ自作ゲームフェス2016敢闘賞作品
『AliasAche:エイリアスエイク』 もりもり公開中です。
紹介ページ→ http://tri-nitroterunon37.wix.com/terunon#!aliasache/fyncb
すぐにブラウザプレイするならこちら→ http://html5.plicy.net/GamePlay/19919
アバター
terunon
記事: 76
登録日時: 2016年2月12日(金) 12:14
お住まい: 熊本県
連絡を取る:

Re: YEP_ItemCore をfirefoxブラウザ上で動かすとアイテム画面が開けない?

投稿記事by terunon » 2016年3月23日(水) 19:22

連投失礼します。前の書き込みの続報です。

本日、どうにかItemCoreのみを実装したプロジェクトをGitHubさんに上げることができ、
PLiCyさんへ報告しようと思った矢先だったのですが、
わたしの環境では、firefox環境でやはりアイテム画面が開けないようで、PLiCyさんと同様のエラーが生じました。
(Firefox 45.0.1 環境です)

http://terunon.github.io/itemcoretest/

キャプチャ.JPG


それにあたり、上記プロジェクトについて、皆さまはfirefox下で正常にアイテム選択ができますでしょうか…?

試してくださる方、この手の問題について情報をお持ちの方、
ご協力いただけると幸いです。
terunon
絵描いたり、ボカロPしたり、ツクったりしてます。

ツクールMV製ローグライクアクションアドベンチャーRPG/ニコニコ自作ゲームフェス2016敢闘賞作品
『AliasAche:エイリアスエイク』 もりもり公開中です。
紹介ページ→ http://tri-nitroterunon37.wix.com/terunon#!aliasache/fyncb
すぐにブラウザプレイするならこちら→ http://html5.plicy.net/GamePlay/19919
アバター
Trb
記事: 151
登録日時: 2015年11月15日(日) 19:26
連絡を取る:

Re: YEP_ItemCore をfirefoxブラウザ上で動かすとアイテム画面が開けない?

投稿記事by Trb » 2016年3月23日(水) 19:50

試してみたところ、自分も同じエラーが出ました。
しかし、そちらで使われているYEP_ItemCoreはバージョン1.18のもののようですが、日本の公式で配布されていたバージョン1.04のItemCoreではエラーが出ることなく使用できました。

なのでバージョンアップで更新された部分に問題があるのだと思います。
作りかけの状態で旧バージョンのプラグインに変更すると別の問題が発生してしまう恐れもありますが良かったら試してみてください。
(2つのプラグインを見比べて問題がある箇所を特定できればいいのですが、自分にはそこまでは分かりませんでした)
アバター
ホノルメイド
記事: 371
登録日時: 2015年11月10日(火) 15:24
連絡を取る:

Re: YEP_ItemCore をfirefoxブラウザ上で動かすとアイテム画面が開けない?

投稿記事by ホノルメイド » 2016年3月23日(水) 19:51

私も試したんですがエラーでましたね。
ただ、古い方があればですが、古い方に戻してみるのはどうでしょうか。
―――――――――――――――――――――――――――――――――――――――――
画像戦う理由は見つかったか? 相棒
という事でよろしくお願いします。
HP:HPとか連絡とかもここに集約されています。
連絡はお問い合わせのところでどうぞ。
アバにしている画像は描いてもらったものです。
※サイン、アイコンに使われている画像は無断保存や転載は禁止です。
―――――――――――――――――――――――――――――――――――――――――
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: YEP_ItemCore をfirefoxブラウザ上で動かすとアイテム画面が開けない?

投稿記事by トリアコンタン » 2016年3月23日(水) 21:16

お疲れさまです。
私もバージョンを確認してみました。

当初私が試したのは最新版であるv1.19でした。
対応内容としては以下のようにコメントされています。
* Version 1.19:
* - Updated for RPG Maker MV version 1.1.0.

Trbさんの検証結果を踏まえて、v1.18で再度、実行したところ現象の再現ができました。

・v1.18
2016-03-23.jpg


念のため、再度v.1.19で確認したところエラーは発生しませんでした。

・v1.19
2016-03-23 (1).jpg


ちょっと差分を比較してみます。
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
アバター
terunon
記事: 76
登録日時: 2016年2月12日(金) 12:14
お住まい: 熊本県
連絡を取る:

Re: YEP_ItemCore をfirefoxブラウザ上で動かすとアイテム画面が開けない?

投稿記事by terunon » 2016年3月23日(水) 21:51

皆様

ご協力ありがとうございます。あああ、、、少し予想がつきました。
かなり制作初期にいじった項目でわたし自身も完全に失念していたのですが、
プラグイン内を独自に書き換えている項目があります……。
トリアコンタン様の環境で発生しなかったことを踏まえると、わたしの書き換えがfirefoxと相性が悪かったと考えるのが自然と思われます。
皆様お手数をおかけしてすみません……。

書き換え部分は、アイテムの文字色を変えた際に、変えたまま文字色が戻らずに残りの文字が描画される不具合の対応と、
アイテムを「捨てる」コマンドと、大事なものを所持数にカウントしないようにする処理でした。

今になって読みなおしたところ、
捨てるコマンドは、当時String('文字')の記法を知らず、強引にTextManagerから文字を拾ってきている、
文字色の不具合の対処の方では
text += ' ' //半角スペース2つ
text += '\\c[' + 0 + ']';
といういかにも問題起こしそうな記述が含まれている、
というのが発覚しましたので、まずはそこを修正してみて様子を見てみようと思います……。
terunon
絵描いたり、ボカロPしたり、ツクったりしてます。

ツクールMV製ローグライクアクションアドベンチャーRPG/ニコニコ自作ゲームフェス2016敢闘賞作品
『AliasAche:エイリアスエイク』 もりもり公開中です。
紹介ページ→ http://tri-nitroterunon37.wix.com/terunon#!aliasache/fyncb
すぐにブラウザプレイするならこちら→ http://html5.plicy.net/GamePlay/19919
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: YEP_ItemCore をfirefoxブラウザ上で動かすとアイテム画面が開けない?

投稿記事by トリアコンタン » 2016年3月23日(水) 22:53

お疲れさまです。
なるほど、そういうことでしたか。。
とはいえ、修正された内容自体にはあまり問題がなさそうだったので、乗り掛かった船ということで調査してみました。

エラーが発生している直接の原因は、1400行目付近の以下の修正のようです。

width = Graphics.boxWidth / 2;
 ↓
width = Graphics.boxWidth;

こちらを修正するとアイテムリストに圧迫されるかたちで、右側のウィンドウの横幅が0になります。

・参考
2016-03-23 (2).png



エラーの根本原因ですが、Bitmap.drawTextの引数である最大幅(maxWidth)に負の値が設定されたためのようです。
Chrome等のブラウザでは0として解釈して何も描画しないようですが、FirefoxだとUnknownErrorが発生します。
(ウィンドウの横幅は0ですが、YEP_ItemCoreの方でウィンドウサイズからアイコンサイズを減算した値を最大幅として渡しているので、結果的に最大幅(maxWidth)に負の値が設定されているものと思われます)

レイアウトを崩さず問題を解消するにはコアスクリプトを修正するか、YEP_ItemCoreの当該箇所を探し出して修正する必要があります。
コアスクリプトの修正例は以下の通りです。

コード: 全て選択

(function () {
    'use strict';

    var _Bitmap_drawText = Bitmap.prototype.drawText;
    Bitmap.prototype.drawText = function(text, x, y, maxWidth, lineHeight, align) {
        if (arguments[3] < 0) arguments[3] = 0;
        _Bitmap_drawText.apply(this, arguments);
    };
})();


https://raw.githubusercontent.com/triacontane/RPGMakerMV/master/BugFixBitmapMaxWidth.js

あまりコアスクリプトに手を入れたくないのであれば、YEP_ItemCoreを修正して、右側のウィンドウの横幅が左側のウィンドウの横幅に連動して縮まないように(左のウィンドウに隠れるように)するのもアリだと思います。
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/

“MV:質問” へ戻る