ページ 1 / 2
【解決済】フトコロ様のFTKR_ExEscapeCharacters.jsで画像がたまに表示されない
Posted: 2020年3月29日(日) 11:07
by 亜季色
FTKR_ExEscapeCharacters.jsを使ってアイテム説明欄に画像を表示しているのですが、ときどき画像が表示されないことがあります。
/img/systemフォルダにItem.pngという画像を置き、
パラメータのAdvance Load Filesで画像ファイルの指定はしています。
表示されないのは、所持アイテム一覧の一番左上の画像を表示したときのみです。
その際、他のアイテムにカーソルを合わせてから左上にカーソルを戻すと表示されるようになるのですが、
時間を置くとまた表示されなくなっています。
最初からちゃんと表示されていることの方が多いのですが、たまに表示されていないことがあるという状況です。
何が原因か分かる方はいらっしゃらないでしょうか?
Re: フトコロ様のFTKR_ExEscapeCharacters.jsで画像がたまに表示されない
Posted: 2020年3月29日(日) 13:34
by Plasma Dark
画像キャッシュから消えているタイミングで、ロードが間に合わないと表示されないです。
このプラグインはゲーム開始時にロードするようにはなっていますが、そこでキャッシュに乗ったものが他の画像のロードで押し出されて消えることはあります。
左上のアイテム説明文を処理する際にもう一度ロードするのですが、ロードが追いつかないので左上のアイテム説明文だけ表示されないのでしょう。
ツクールMVのロード形式は以下の記事でトリアコンタンさんが説明してくださっています。
FTKR_ExEscapeCharacters.js はこの3種のうち、 Load を用いているため、キャッシュから追い出される可能性があります。
viewtopic.php?t=7206
Reserve を使うように変更すればこの問題は解決されるかと思いますが、その分だけ画像キャッシュが狭くなり、キャッシュの入れ替わりが激しくなります。
つまり、画像のロードを挟むタイミングが増えるため、ゲーム中でカクつくように感じるかもしれません。
Re: フトコロ様のFTKR_ExEscapeCharacters.jsで画像がたまに表示されない
Posted: 2020年3月29日(日) 14:13
by 亜季色
どうもありがとうございます。
なんとなく原因が分かったので、一度Reserveで画像読み込みをしてみようと思うのですが
これはどういった手順でやれば良いのでしょうか?
Re: フトコロ様のFTKR_ExEscapeCharacters.jsで画像がたまに表示されない
Posted: 2020年3月29日(日) 15:16
by Plasma Dark
loadではなくreserveで先読みするパッチプラグインを用意しました。
以下のプラグインを入れてみてください。
https://github.com/elleonard/RPGtkoolMV ... rsPatch.js
Re: フトコロ様のFTKR_ExEscapeCharacters.jsで画像がたまに表示されない
Posted: 2020年3月29日(日) 18:07
by 亜季色
プラグイン化ありがとうございます。
しかし、こちらのプラグインをFTKR_ExEscapeCharacters.jsより下に入れても症状が改善されませんでした。
何か他の原因があるということでしょうか……。
Re: フトコロ様のFTKR_ExEscapeCharacters.jsで画像がたまに表示されない
Posted: 2020年3月29日(日) 18:10
by 亜季色
イベントでスクリプト:ImageManager.reserveSystem('Item');を実行したところちゃんと表示されるようになった気がします。
手探りでやってみたのですが、これで合ってるのでしょうか。
Re: フトコロ様のFTKR_ExEscapeCharacters.jsで画像がたまに表示されない
Posted: 2020年3月29日(日) 18:36
by Plasma Dark
イベントでスクリプト:ImageManager.reserveSystem('Item');を実行したところちゃんと表示されるようになった気がします。
手探りでやってみたのですが、これで合ってるのでしょうか。
そうですね、対象画像がそれだけなら、ゲーム開始時にイベントのスクリプトでそれを動かしてしまうのも手だと思います。
私のプラグインが動かなかった理由として考えられるのはRPGツクールMVのバージョンが1.5系であることくらいです。
F12を押して出てくる画面の Console タブに何かエラー表示されていたりしないでしょうか。
Re: フトコロ様のFTKR_ExEscapeCharacters.jsで画像がたまに表示されない
Posted: 2020年3月30日(月) 09:37
by 亜季色
consoleを確認してもエラーは出ていないようです。
バージョンは1.6.2です。
画像の表示がされない現象で再現性のあるタイミングを見つけました。
するとやはり、イベントからスクリプトを実行すると改善されて、
Plasma Dark様のプラグインだとやはり上手くいかないようです。
FTKR_ExEscapeCharacters.jsより下に配置しているので使い方は間違ってないと思うのですが、
いかんせんいまいち仕組みが理解出来ていないので、こちらでプラグインを導入する際に不手際がある可能性も大きいです。
うーん、何が原因なんでしょう……。
Re: フトコロ様のFTKR_ExEscapeCharacters.jsで画像がたまに表示されない
Posted: 2020年3月30日(月) 11:44
by Plasma Dark
Plasma Dark様のプラグインだとやはり上手くいかないようです。
何らかの原因で画像の読み込みが出来ていないのでしょう。
Consoleにエラーが出ていないとのことなので、おそらくないとは思いますが、私のプラグインをダウンロードする際に、貼り付けたURLをそのまま保存されてはいないですよね。
これはこちらの説明が足りず申し訳ないのですが、貼り付けたURLの先で右上のRawボタンを対象をファイルに保存でダウンロードされると確実です。
画像の表示がされない現象で再現性のあるタイミングを見つけました。
確実に再現が取れるとなると、元のプラグインからして何か想定してない挙動をしている可能性があります。
こういうとき、コードにブレークポイント貼って確認できると楽なんですが、VSCodeなどの環境を整える必要があるので、今すぐには難しいでしょうか。
一応、方法だけ貼り付けておきますので、気が向いたら挑戦してみてください。
プラグインの任意の行でゲームの実行を止めて、状態を確認できるスグレモノです。
https://qiita.com/Sanshiro/items/084fb0971942e03db9a4
さて、初心者に今すぐこれをしろとは流石に言えないので、代替のデバッグ方法をお教えします。
まず、UTF-8が正しく扱えるテキストエディタをご用意ください。(VSCodeが理想ですが、サクラエディタなどでも構いません)
FTKR_ExEscapeCharacters.js の186行目、 ImageManager.loadSystem(image); と書いてある行のすぐ後に、改行を入れて以下のように追記してください。
コード: 全て選択
console.log(`load image: ${image}`);
それから、DarkPlasma_FTKR_ExEscapeCharactersPatch.js の36行目、 images.forEach.... と書かれている行の後に、先程と同じようにして以下のように追記してください。
コード: 全て選択
console.log(`reserve image: ${images[0]}`);
それからゲームをテストプレイモードで起動し、F12でConsoleを開いてください。
load image: Item などの表示が出るかどうかをスクリーンショットで貼り付けていただけると何かわかるかもしれません。
それから、コンソールに FTKR.EEC.files と入力してちゃんと "item" などと表示されることも、念の為ご確認いただいたほうが良いでしょう。
Re: フトコロ様のFTKR_ExEscapeCharacters.jsで画像がたまに表示されない
Posted: 2020年3月31日(火) 13:17
by 亜季色
詳しい説明どうもありがとうございます。
これから数日間ツクールに触れないので
時間が出来次第、保存し直して再確認をした後にデバッグにも挑戦してみます!