ページ 11

[解決済]「DTextPicture.js」と「TkoolMV_PluginCommandBook.js」に関する競合について

Posted: 2021年6月21日(月) 18:02
by souma
お世話になります。
色々と試してみましたが、解決できそうになかったので投稿させて頂きます。

表題の通りなのですが、この2点のプラグインを導入した状態ですと
「DTextPicture.js」のウィンドウ機能が正しく表示されない競合について、
解消できる方が居られたらお知恵をお借りしたいと思っています。

症状としては、「ウィンドウを伴う文字ピクチャとして表示する範囲に、
低いIDを使用したピクチャを重ねて表示した時、文字ピクチャのウィンドウ部分のみが
重ねて表示したピクチャの下に表示されてしまう」というものです。

具体的な例としては、
ピクチャID10に画面全体で表示する一枚絵を描画して、
ピクチャID11でウィンドウを用いた文字ピクチャでこの一枚絵に対する
説明(一枚絵が討伐絵で、それに対するリザルト表示などetc…)を描画した時、
文字ピクチャの文字部分のみがピクチャID10の上に表示され、
ウィンドウ部分はID10の下に表示されるのです。

一応この場合、ピクチャID11を再度描画すれば、ウィンドウも通常どおりの
表示になってくれるのですが、例えば「ID10の一枚絵を透明度0で表示し
ピクチャの移動で60フレームかけて透明度255まで表示させる」、といった
演出を行う場合、その60フレームの間に再描画をしてもウィンドウの表示は
通常のものになってくれません。
ウェイトをかけてID10が透明度255までなってから再描画する、というのは
プレイヤーの待ち時間的に取りたくない選択です…。

欠陥、などという程には問題のある競合では無く、代替手段は幾つか思い付く
ものもあるのですが(Dtextのウィンドウ機能を用いず自前でウィンドウ画像を
用意する、など)、やはり備わった便利な機能があれば、それを使いたいとも思います。

プラグインの優先は圧倒的にDtextで、プラグインコマンド集は「数値入力の処理」に関するものと
「アニメーションの指定位置表示」のみを必要としているので、コードの干渉してしまう部分のみを
消してしまえば、とも思ったのですが、上手くいかず…。

解消策をお持ちの方が居られましたら、ご教授頂けると幸いです。

Re: 「DTextPicture.js」と「TkoolMV_PluginCommandBook.js」に関する競合について

Posted: 2021年6月22日(火) 01:26
by トリアコンタン
こんにちは!
プラグインのご利用ありがとうございます。

こちらで動作を確認してみます。

Re: 「DTextPicture.js」と「TkoolMV_PluginCommandBook.js」に関する競合について

Posted: 2021年6月22日(火) 02:27
by souma
トリアコンタン 様

大変申し訳ありませんが、宜しくお願い致します。

補足すると、ツクールもプラグインも最新(現在HPで公開されているもの)で、
新規プロジェクトで両プラグインのみを有効にしたプロジェクトでも発生するのを
確認しております…。

Re: 「DTextPicture.js」と「TkoolMV_PluginCommandBook.js」に関する競合について

Posted: 2021年6月27日(日) 16:01
by トリアコンタン
こんにちは!
こちらで直接動作を確認してみましたが、現象を再現できませんでした……

イベント実行内容は以下の通りです。再現手順に認識齟齬はないでしょうか。

コード: 全て選択

◆ピクチャの表示:#10, 02, 左上 (0,0), (100%,100%), 255, 通常
◆プラグインコマンド:D_TEXT_SETTING WINDOW ON
◆プラグインコマンド:D_TEXT ウィンドウ付き動的文字列ピクチャのテスト
◆ピクチャの表示:#11, なし, 左上 (0,0), (100%,100%), 255, 通常


真っ白なピクチャの上にウィンドウ付き動的文字列ピクチャを表示しています。
image_20210627_155711.png

Re: 「DTextPicture.js」と「TkoolMV_PluginCommandBook.js」に関する競合について

Posted: 2021年6月27日(日) 16:53
by 奏ねこま
トリアコンタン さんが書きました:こちらで直接動作を確認してみましたが、現象を再現できませんでした……

横から失礼します。
こちらでやってみたところ再現しました。

ツクールMVのバージョンは1.6.3
プラグインはCommunity_Basicと本件の2つの計3つのみ。
Community_BasicをOFFにもしてみましたが変わらず。
本件の2つのプラグインの順番を入れ替えてみるも変わらず。
イベントの内容は以下の通り。

コード: 全て選択

◆ピクチャの表示:#10, white, 左上 (100,0), (100%,100%), 255, 通常
◆プラグインコマンド:D_TEXT_SETTING WINDOW ON
◆プラグインコマンド:D_TEXT ウィンドウ付き動的文字列ピクチャのテスト
◆ピクチャの表示:#11, なし, 左上 (0,0), (100%,100%), 255, 通常

軽く調べてみましたが、プラグインコマンド集にピクチャの表示優先度設定機能があり
それにより並び順が替えられているためウインドウがかなり後ろに配置されるようです。
暫定対策としてはプラグインコマンド集から並び替え処理を削除してしまうのが簡単ですが、
根本的な競合対策は残念ながら現時点で思いつきませんでした。

以上、報告まで。

無題2.png

無題3.png

Re: 「DTextPicture.js」と「TkoolMV_PluginCommandBook.js」に関する競合について

Posted: 2021年6月27日(日) 17:48
by トリアコンタン
改めて確認しましたが、やはりこちらでは再現しませんでした。
何か別の発生条件があるのかもしれません。

直接的な原因は、調査頂いたとおりピクチャの優先度設定機能の可能性が高いので
本機能を使わないのであれば、当該箇所をコメントアウトすれば解消できるかもしれません。

1724行目付近

コード: 全て選択

    var _Spriteset_Base_update      = Spriteset_Base.prototype.update;
    Spriteset_Base.prototype.update = function() {
        _Spriteset_Base_update.call(this);
        // if ($gameScreen.needsSortPictures) {
        //     this.sortPictures();
        //     $gameScreen.needsSortPictures = false;
        // }
        this.updateAnimationContainer();
    };

Re: 「DTextPicture.js」と「TkoolMV_PluginCommandBook.js」に関する競合について

Posted: 2021年6月27日(日) 19:13
by souma
トリアコンタン 様、奏ねこま 様
返信とご対応、誠に有難う御座いました。

まず最初に、自分の認識不足により混乱させてしまった事を深くお詫びいたします。

原因は、補足として宣言したにも関わらず、該当プラグイン「TkoolMV_PluginCommandBook.js」が
最新Verでは無かった事が原因でした…。

一応の自己弁護として、プラグインに記載されたHP
https://github.com/AlecYawata/TkoolMV_PluginCommandBook
に置かれているVerを採用していた為に、最新版との勘違いをしてしまったのです…。

https://forum.tkool.jp/index.php?thread ... 95%8F.543/

こちらで添付されている版が最新?っぽいようですね。
この孔明の…(ry

該当箇所のコードを指定する行数が20行近くズレていたので実は最新Verでは無いのでは…?
と疑問に思えました。


トリアコンタン 様
前提がズレている競合対応をお願いしてしまい、誠に申し訳ありませんでした。
最新Verに入れ替えた所、問題無く動作するようになりました!

奏ねこま 様
現象再現のご協力と助言、誠に有難う御座いました!
奏様の御助言が無ければ、あわや迷宮入りも有り得た所です…。

お二方とも、本当に有難う御座いました!