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

マカロニ
記事: 9
登録日時: 2019年7月11日(木) 11:28

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

投稿記事by マカロニ » 2019年7月13日(土) 16:33

はじめましてマカロニと申します。

最近ツクール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);
    };
   
    })();
添付ファイル
0001.png
0001.png (3.76 KiB) 閲覧数: 1637 回
最後に編集したユーザー マカロニ on 2019年7月13日(土) 18:17 [ 編集 1 回目 ]

アバター
しぐれん
記事: 973
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

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

投稿記事by しぐれん » 2019年7月13日(土) 16:59

_Window_BattleStatus_drawBasicArea.call(this)の部分が間違っています。
thisの後ろにrect,actorを追加する必要があります。
また、call(this)をapply(this)に変更しても動いたと思います。
現在、プラグイン依頼はお休み中です。
マカロニ
記事: 9
登録日時: 2019年7月11日(木) 11:28

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

投稿記事by マカロニ » 2019年7月13日(土) 18:15

しぐれん様、ご返答ありがとうございます。

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

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

“MV:質問” へ戻る