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

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

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

投稿記事 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);
    };
    
    })(); 
添付ファイル
0001.png
0001.png (3.76 KiB) 閲覧された回数 1863 回
最後に編集したユーザー マカロニ [ 2019年7月13日(土) 18:17 ], 累計 1 回
アバター
しぐれん
記事: 975
登録日時: 2017年3月28日(火) 22:22
連絡する:

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

投稿記事 by しぐれん »

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

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

投稿記事 by マカロニ »

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

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

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

“MV:質問”に戻る