【解決済】フトコロ様のFTKR_ExEscapeCharacters.jsで画像がたまに表示されない

アバター
亜季色
記事: 44
登録日時: 2019年9月16日(月) 12:54

Re: フトコロ様のFTKR_ExEscapeCharacters.jsで画像がたまに表示されない

投稿記事 by 亜季色 »

メモ帳で2つのプラグインにコードを追記し、テストプレイでアイテムウィンドウを開くと添付した画像のようなエラーが出ました。
cosoleの使い方がよく分からないのですが、FTKR.EEC.filesと入力する場所は合ってますか?

------------------------------------------------------------------------------
FTKR_ExEscapeCharacters.jsでItem.pngを指定し忘れていたので、
指定してスクショを取り直しました。
添付ファイル
デバッグ
デバッグ
アバター
Plasma Dark
記事: 736
登録日時: 2020年2月08日(土) 02:29
連絡する:

Re: フトコロ様のFTKR_ExEscapeCharacters.jsで画像がたまに表示されない

投稿記事 by Plasma Dark »

メモ帳で2つのプラグインにコードを追記し、テストプレイでアイテムウィンドウを開くと添付した画像のようなエラーが出ました。
cosoleの使い方がよく分からないのですが、FTKR.EEC.filesと入力する場所は合ってますか?
最近のメモ帳はUTF-8も扱えるようになったとは聞きますが、怖いですね。
とは言え、私のプラグイン側に書いたメッセージはちゃんと表示されてくれている様子。
FTKR_ExEscapeCharacter.js に書いたものが表示されていないのは気になります。

私のプラグインが全く動いていないというわけではなさそうですね。

Consoleの使い方はバッチリです。このスタックトレースやら何やらがあるだけでだいぶ原因がわかりやすくなります。
入力していただいた後にちゃんと "Item" と出てきているので、 FTKR_ExEscapeCharacter.js へのプラグインパラメータの設定も正しいですね。

状況を見るに、可能性は
1. 何か厄介なプラグインが邪魔をしてキャッシュに乗せたはずの画像を破壊した
2. そもそもちゃんとキャッシュに乗っていない

くらいでしょうか。

YEPプラグインを利用されているようですが、他にも様々なプラグインを利用されているでしょうか。
それらを一つ一つOFFにして、エラーが出なくなるものを特定してみてください。

キャッシュの中にいる画像の情報が正しいかどうかも気になります。
FTKR.EEC.files と入力していただいたのと同じ要領で、以下のように入力してみてください。

ImageManager._imageCache._items["img/system/Item.png:0"]

表示された右矢印をクリックして中を見ると、 bitmap がいるはずですので、その右矢印もクリックしてみてください。
キャッシュしている画像の情報が出てきます。 _loadingState が "loaded" であることや、 _image, _canvas が存在すれば、ちゃんとキャッシュされています。
アバター
亜季色
記事: 44
登録日時: 2019年9月16日(月) 12:54

Re: フトコロ様のFTKR_ExEscapeCharacters.jsで画像がたまに表示されない

投稿記事 by 亜季色 »

使用しているプラグインを一つずつOFFにしてみましたが、全てでエラーが起こりました。
また、YEP_CoreEngineをOFFにしたときだけエラーメッセージが変わりました。
FTKR_ExEscapeCharacters.jsとDarkPlasma_FTKR_ExEscapeCharactersPatch.jsのみONにし、他全てをOFFにしたときもエラーでした。
添付ファイル
全てON
全てON
FTKR_ExEscapeCharacters.jsとDarkPlasma_FTKR_ExEscapeCharactersPatch.jsのみON
FTKR_ExEscapeCharacters.jsとDarkPlasma_FTKR_ExEscapeCharactersPatch.jsのみON
YEP_CoreEngineのみOFF.jpg
YEP_CoreEngineのみOFF.jpg
アバター
Plasma Dark
記事: 736
登録日時: 2020年2月08日(土) 02:29
連絡する:

Re: フトコロ様のFTKR_ExEscapeCharacters.jsで画像がたまに表示されない

投稿記事 by Plasma Dark »

詳しい状況のご説明、ありがとうございます。

プラグインにconsole.logを仕込ませてしまったのは私なので、これはちょっと申し訳ないのですが、もしかして FTKR_ExEscapeCharacters.js の205行目に私の提示したコードを追記してしまっていないでしょうか。

FTKR_ExEscapeCharacters.js が正しい状態なら、174~207行目は以下のような内容になっているはずです。

コード: 全て選択

//=============================================================================
// DataManager
//=============================================================================

//画像ファイルの事前ロード
FTKR.EEC.DataManager_loadDatabase = DataManager.loadDatabase;
DataManager.loadDatabase = function(name, src) {
    FTKR.EEC.DataManager_loadDatabase.call(this, name, src);
    if(!FTKR.EEC.files) return;
    images = FTKR.EEC.files.split(',');
    if (!images.length) return;
    images.forEach( function(image) {
        ImageManager.loadSystem(image);
        console.log(`load image: ${image}`); // 私が差し込んでほしいとお願いしたコード
    });
};

//=============================================================================
// Window_Base
//=============================================================================

//画像表示関数 /img/system/に保存したname.pngを表示する。
Window_Base.prototype.drawEecImage = function(name, index, x, y, width, height, scale) {
    if (name) {
        var bitmap = ImageManager.loadSystem(name);
        var pw = width;
        var ph = height;
        scale = scale || 1;
        var len = Window_Base.EEC_IMG_LENGTH;
        var sx = index % len * pw;
        var sy = Math.floor(index / len) * ph;
        this.contents.blt(bitmap, sx, sy, pw, ph, x, y, pw * scale, ph * scale);
    }
};
このコードの最後の方、 this.contents.blt のあたりに image を参照する内容が書かれてしまっているがゆえのエラーだと思います。
console.log なら大丈夫だろうと高をくくっていましたが、やはり初心者にコードを書き換えさせるべきではありませんでしたね……。
アバター
亜季色
記事: 44
登録日時: 2019年9月16日(月) 12:54

Re: フトコロ様のFTKR_ExEscapeCharacters.jsで画像がたまに表示されない

投稿記事 by 亜季色 »

すみません、console.logの挿入場所が間違っていました。
修正したところ、アイテム画像が正しく表示されるようになり、consoleにはこのように表示されました。
console.logを挿入することで画像が正しく読み取れるようになることってあるんでしょうか?
添付ファイル
プラグイン全てON
プラグイン全てON
アバター
Plasma Dark
記事: 736
登録日時: 2020年2月08日(土) 02:29
連絡する:

Re: フトコロ様のFTKR_ExEscapeCharacters.jsで画像がたまに表示されない

投稿記事 by Plasma Dark »

console.logを挿入することで画像が正しく読み取れるようになることってあるんでしょうか?
ないです。これは正しく動作していることを確認するためのコードでしかないので、他の挙動にほとんど影響を与えません。
これで表示されるなら、cosole.logを外しても表示されるはずです。
アバター
亜季色
記事: 44
登録日時: 2019年9月16日(月) 12:54

Re: フトコロ様のFTKR_ExEscapeCharacters.jsで画像がたまに表示されない

投稿記事 by 亜季色 »

ですよね……。

不定期で表示されなくなるから今表示されていても直ったのかどうかよく分からないのが困り物です。
console.logを外しても大丈夫だったのですが、ログを見る限りでは問題は無いのでしょうか?
アバター
Plasma Dark
記事: 736
登録日時: 2020年2月08日(土) 02:29
連絡する:

Re: フトコロ様のFTKR_ExEscapeCharacters.jsで画像がたまに表示されない

投稿記事 by Plasma Dark »

ログを見る限りでは問題は無いのでしょうか?
見たところ問題はないようです。
ゲーム開始直後に超急いで開けば、画像のロードが間に合わず表示されないことがあるかもしれませんが、その程度です。

あるいは、お行儀の悪いプラグインが勝手にシステム画像用のIDを指定してキャッシュを解放してしまっているとしたら表示されなくなることもあるかもしれません。
これを調べるにはプラグインフォルダに対して releaseReservation で grep かけて、一つ一つ見ていく他ないので、そこまでして頑張りたいならどうぞ、という感じですね。
アバター
亜季色
記事: 44
登録日時: 2019年9月16日(月) 12:54

Re: フトコロ様のFTKR_ExEscapeCharacters.jsで画像がたまに表示されない

投稿記事 by 亜季色 »

なるほど、これ以上追及するとなると結構大変なんですね。
今のところ安定しているので、これで解決ということにしようと思います。

とても助かりました!どうもありがとうございます!
返信する

“MV:質問”に戻る