ページ 1 / 1
【解決】Galv氏の Prize Wheelで初めてシーンを開くと表示が不完全
Posted: 2020年1月15日(水) 12:41
by ムノクラ
Galv氏の Prize Wheel を試しているのですが、サンプルプロジェクトで動作が変なので、ご指導ください。
https://galvs-scripts.com/2017/02/19/mv-prize-wheel/
サンプルプロジェクトでテストプレイをすると、最初のルーレットシーンでは、描写が完全にされず、クリックをすると止まって結果が出るところは動作します。
2回目にシーンを開くと、想定通りの表示がされます。
コアを1.6.2に入れ替え。
使用する画像をピクチャの表示で事前に表示。
TDDP_PreloadManager.js を入れる。
などしてみましたが、変化はありませんでした。
Re: Galv氏の Prize Wheelで初めてシーンを開くと表示が不完全
Posted: 2020年1月15日(水) 18:04
by ecf5DTTzl6h6lJj02
こんばんは。
ムノクラ さんが書きました:Galv氏の Prize Wheel を試しているのですが、サンプルプロジェクトで動作が変なので、ご指導ください。
https://galvs-scripts.com/2017/02/19/mv-prize-wheel/
サンプルプロジェクトでテストプレイをすると、最初のルーレットシーンでは、描写が完全にされず、クリックをすると止まって結果が出るところは動作します。
2回目にシーンを開くと、想定通りの表示がされます。
コアを1.6.2に入れ替え。
使用する画像をピクチャの表示で事前に表示。
TDDP_PreloadManager.js を入れる。
などしてみましたが、変化はありませんでした。
初回の表示時に、描画位置を設定するタイミングでは画像がロードできていないため、
正しく位置設定されず、画面外に表示されるという現象が起こっているようです。
あらかじめ画像がロードされていれば、回避できます。
TDDP_PreloadManager プラグインは、マップで使用しているイベントの画像と、イベントコマンドのピクチャの表示で使用されている画像のプリロードを行うものらしく、サンプルプロジェクトでは、ピクチャ表示を使っていないので、プリロードされないようです。
Galv_PrizeWheel.js の Game system の 関数が書かれている下に 以下のコードを入れて、
ブート時に、画像をロードしてしまうようにすれば、解消できるかと思います。
コード: 全て選択
//-----------------------------------------------------------------------------
// Scene Boot
//-----------------------------------------------------------------------------
Galv.PRIZE.Scene_Boot_create = Scene_Boot.prototype.create;
Scene_Boot.prototype.create = function(){
Galv.PRIZE.Scene_Boot_create.call(this);
ImageManager.loadPicture(Galv.PRIZE.wheelimg);
ImageManager.loadPicture(Galv.PRIZE.notchimg);
ImageManager.loadPicture(Galv.PRIZE.arrowimg);
}
Re: Galv氏の Prize Wheelで初めてシーンを開くと表示が不完全
Posted: 2020年1月16日(木) 02:00
by ムノクラ
ecf5DTTzl6h6lJj02 さんが書きました:こんばんは。
ムノクラ さんが書きました:Galv氏の Prize Wheel を試しているのですが、サンプルプロジェクトで動作が変なので、ご指導ください。
https://galvs-scripts.com/2017/02/19/mv-prize-wheel/
サンプルプロジェクトでテストプレイをすると、最初のルーレットシーンでは、描写が完全にされず、クリックをすると止まって結果が出るところは動作します。
2回目にシーンを開くと、想定通りの表示がされます。
コアを1.6.2に入れ替え。
使用する画像をピクチャの表示で事前に表示。
TDDP_PreloadManager.js を入れる。
などしてみましたが、変化はありませんでした。
初回の表示時に、描画位置を設定するタイミングでは画像がロードできていないため、
正しく位置設定されず、画面外に表示されるという現象が起こっているようです。
あらかじめ画像がロードされていれば、回避できます。
TDDP_PreloadManager プラグインは、マップで使用しているイベントの画像と、イベントコマンドのピクチャの表示で使用されている画像のプリロードを行うものらしく、サンプルプロジェクトでは、ピクチャ表示を使っていないので、プリロードされないようです。
Galv_PrizeWheel.js の Game system の 関数が書かれている下に 以下のコードを入れて、
ブート時に、画像をロードしてしまうようにすれば、解消できるかと思います。
コード: 全て選択
//-----------------------------------------------------------------------------
// Scene Boot
//-----------------------------------------------------------------------------
Galv.PRIZE.Scene_Boot_create = Scene_Boot.prototype.create;
Scene_Boot.prototype.create = function(){
Galv.PRIZE.Scene_Boot_create.call(this);
ImageManager.loadPicture(Galv.PRIZE.wheelimg);
ImageManager.loadPicture(Galv.PRIZE.notchimg);
ImageManager.loadPicture(Galv.PRIZE.arrowimg);
}
いつも回答頂き、ありがとうございます。
サンプルプロジェクトにご指導いただいたコードを追記した所、想定通りの動作を得られました。
どうやら、日本語パッチの最終箇所に入れても動作するようなので、一緒に入れさせていただきます。
(もちろん、引用元を明記します)
本当に、いつもありがとうございます。