ページ 11

【解決済み】プラグインの競合対策について

Posted: 2019年7月13日(土) 16:33
by マカロニ
はじめましてマカロニと申します。

最近ツクールMVを導入してjavascriptを学び始めた、新米ツクラーです。
プラグインの制作でいきなりつまずいてしまったので質問をさせて下さい。

自作プラグインの競合対策に以下のようなプログラムを書いてみたのですが、うまく動いてくれません。
このプログラムだと戦闘シーンに入ればエラーが起きてしまうようです。

解決方法をご存じの方がいらっしゃいましたら、教えて頂けないでしょうか。
よろしくお願いします。

コード: 全て選択

(function() {

    var _Window_BattleStatus_drawBasicArea = Window_BattleStatus.prototype.drawBasicArea;
    Window_BattleStatus.prototype.drawBasicArea = function(rect, actor) {
        _Window_BattleStatus_drawBasicArea.call(this);
    
        this.drawActorName(actor, rect.x + 0, rect.y, 150);
        this.drawActorIcons(actor, rect.x + 156, rect.y, rect.width - 156);
    };
    
    })(); 

Re: プラグインの競合対策について

Posted: 2019年7月13日(土) 16:59
by しぐれん
_Window_BattleStatus_drawBasicArea.call(this)の部分が間違っています。
thisの後ろにrect,actorを追加する必要があります。
また、call(this)をapply(this)に変更しても動いたと思います。

Re: プラグインの競合対策について

Posted: 2019年7月13日(土) 18:15
by マカロニ
しぐれん様、ご返答ありがとうございます。

apply(this)はエラーが出るようで、うまく動きませんでしたが、
call(this) の部分を call(this,rect,actor) と置き換えたところ
無事にプログラムを動かすことに成功しました。

ようやくプラグインの制作が前に進みそうです。
ありがとうございました。