ページ 11

(済)ベーススクリプトをコメントアウトする時のシンプルな書き方

Posted: 2019年1月03日(木) 13:28
by スギスズキ
お世話になっております。

ベーススクリプトの一部処理をコメントアウトしたい時に、
以下の例のようにまるごとコピーペーストして、
いらない処理を消す…という事をしています。

コード: 全て選択

Window_ActorCommand.prototype.makeCommandList = function() {
    if (this._actor) {
        this.addAttackCommand();
        this.addSkillCommands();
        //this.addGuardCommand();
        this.addItemCommand();
    }
};
書き方としてこれは普通なのでしょうか?
エイリアス?みたいにいらない処理だけ消去…みたいな
シンプルな書き方などがありましたら教えて頂きたいです。
よろしくお願い致します。

Re: ベーススクリプトをコメントアウトする時のシンプルな書き方

Posted: 2019年1月04日(金) 10:45
by まっつUP
スギスズキ様
お世話になります。

いらない処理の前後に必要な処理がある場合
通常通りのエイリアスでは元の関数の要らない処理を消すことはできません。

方法として、メンバ変数などでフラグ管理をすることは可能です。
関数の元の処理を呼び出す前後でフラグをオンオフして、
その内の処理を変えたい関数の内容ではフラグによって処理を行うか分岐する等
少なくとも二つのエイリアスが必要ですが関数の途中の処理のみを制御することは可能です。

ただ、スギスズキ様の例の場合addGuardCommand側の内容を
すべて削除すれば十分だと思います。
makeCommandListと名につく関数は他のプラグインでエイリアスされることが比較的多いため
やや不満かと思います。

Re: ベーススクリプトをコメントアウトする時のシンプルな書き方

Posted: 2019年1月04日(金) 12:18
by スギスズキ
まっつUPさん

返信ありがとうございます。
元々あるものを無しにするのは
やっぱり難しいんですね;

ただアドバイス頂いたように
もっと細かく処理(関数…?)を見て行って
必要最低限にいじるようにしたいと思います。
勉強になりました! :)