ページ 11

yana様の陣形プラグインMZ化について

Posted: 2020年9月14日(月) 15:18
by maker-b
皆様

大変お世話になっております。
先日、別スレッドhttps://tm.lucky-duet.com/viewtopic.php?f=114&t=9943
しぐれん様にご協力いただき、掲題のプラグインの実装を実現しましたが、今後のことも考え、自分で
上記プラグインの改造をはじめました。
しぐれん様のアドバイスをもって、とりあえずエラーが出ないまで実現できたのですが、
実装したメニューがうまいこと表示されません・・・・・

具体的には、
Window_BFFormationList 表示されない
Window_BFStatus 表示されない
Window_BFParameter 表示されない
Window_BFInfo なぜか表示される

という症状のような気がします・・・・
頑張って勉強しているのですが、独学ではどうしてもここから理解ができません・・・・
どなたか、もしアドバイスいただけるのでしたら、大変うれしいです!

※ちなみに、yana様のプラグインは再配布禁止でしたでしょうか?
 WEBを拝見してもそのような表記を見つけることができませんでした
 もしそうでしたらすぐ削除いたしますので、ご指摘ください

どうぞよろしくお願いいたします。

Re: yana様の陣形プラグインMZ化について

Posted: 2020年9月14日(月) 21:57
by しぐれん
これですが、windowHelpの位置が原因だと思います。
ツクールMVではヘルプウィンドウが画面の上にあり、他のウィンドウもそれを前提に位置を決めてるものが多いです。
画面外でヘルプウィンドウの下にこれらのウィンドウが置かれている可能性があります。
なので、何らかの方法でヘルプウィンドウの位置を上にすればOkです。
rmmz_windowsのcreateHelpWindow()の挙動を調べれば解決可能だとは思います。

一応手元のバージョンで対策は調べましたが、確定ではないです。
陣形アイテムの設定方法がわからなくて、調査が中断しています。

コード: 全て選択

Scene_Base.prototype.isBottomHelpMode = function() {
    return false;
};

どこかで問題が起こるかもしれませんが、これで何とかなるらしいです。

Re: yana様の陣形プラグインMZ化について

Posted: 2020年9月14日(月) 23:01
by maker-b
しぐれん 様

レスありがとうございます!
なるほど、helpwindowをベースに、その他のwindowを作っているのですね・・・・

rmmz_windows周りをみてみましたが、
createHelpWindow()らしきものがみつかりませんでした・・・

コード: 全て選択

Window_Selectable.prototype.itemRect = function(index) {
    const maxCols = this.maxCols();
    const itemWidth = this.itemWidth();
    const itemHeight = this.itemHeight();
    const colSpacing = this.colSpacing();
    const rowSpacing = this.rowSpacing();
    const col = index % maxCols;
    const row = Math.floor(index / maxCols);
    const x = col * itemWidth + colSpacing / 2 - this.scrollBaseX();
    const y = row * itemHeight + rowSpacing / 2 - this.scrollBaseY();
    const width = itemWidth - colSpacing;
    const height = itemHeight - rowSpacing;
    return new Rectangle(x, y, width, height);
};

Window_Selectable.prototype.itemRectWithPadding = function(index) {
    const rect = this.itemRect(index);
    const padding = this.itemPadding();
    rect.x += padding;
    rect.width -= padding * 2;
    return rect;
};

Window_Selectable.prototype.itemLineRect = function(index) {
    const rect = this.itemRectWithPadding(index);
    const padding = (rect.height - this.lineHeight()) / 2;
    rect.y += padding;
    rect.height -= padding * 2;
    return rect;
};

Window_Selectable.prototype.setHelpWindow = function(helpWindow) {
    this._helpWindow = helpWindow;
    this.callUpdateHelp();
};


この辺ですかね・・・・うーん・・・

Re: yana様の陣形プラグインMZ化について

Posted: 2020年9月15日(火) 00:03
by しぐれん
失礼、createHelpWindow()があるのはrmmz_scenes.jsでした。
陣形プラグインに以下の内容を書き足しつつMVJointを差し込めば、行けると思います。

コード: 全て選択

Scene_BattleFormation.prototype.isBottomHelpMode = function() {
    return false;
};

Re: yana様の陣形プラグインMZ化について

Posted: 2020年9月15日(火) 10:14
by maker-b
しぐれん様

お世話になっております。
ご連絡いただきありがとうございます!
早速以下内容を導入しました!
helpwindowが上部にくるようになりましたが、その他メニューはやはり消えてしまっております(涙)
なかなか難しいですね・・・・

Re: yana様の陣形プラグインMZ化について

Posted: 2020年10月10日(土) 08:53
by ムノクラ
MZ用の陣形プラグインが出たので、お試ししてみては?

▼陣形システム(うなぎおおとろ様作) - FormationSystem.js
https://plugin-mz.fungamemake.com/archives/898
メニュー画面からいくつかの陣形を事前にストックしておいて、戦闘中にストックしておいた陣形の中から一つを選んで適用することができます。