【解決済み】歩行スピードの変更をプラグインコマンドで行いたい

アバター
黒輝零夜
記事: 40
登録日時: 2017年3月28日(火) 21:21
お住まい: Japan
連絡を取る:

【解決済み】歩行スピードの変更をプラグインコマンドで行いたい

投稿記事by 黒輝零夜 » 2018年10月20日(土) 19:50

http://ktnhmv.jugem.jp/?eid=19
http://ktnhmv.jugem.jp/?eid=12
https://yumineko.com/archives/2273

上記三つのブログを参考に、

コード: 全て選択

(function() {
Game_CharacterBase.prototype.distancePerFrame = function() {
    return Math.pow(2, this.realMoveSpeed()) / 256;
};
})();

ここまでいけたのですが、プラグインコマンドにて、256を別の数字へと変更したい場合はどうすれば良いのでしょうか?

恐らくhttp://ktnhmv.jugem.jp/?eid=12に書いてあった、

コード: 全て選択

var parameters = PluginManager.parameters('CriticalAnimation');
   var AnimationID = Number(parameters['AnimationID']);
   var FlashEffect = Number(parameters['FlashEffect']);

このコードのCriticalAnimation、AnimationID、 FlashEffectを変更をすれば良いと思うのですが、何にしたら良いのか分かりません。

どうすれば宜しいのでしょうか?
最後に編集したユーザー 黒輝零夜 on 2018年10月21日(日) 17:09 [ 編集 1 回目 ]

tubo
記事: 57
登録日時: 2017年10月11日(水) 16:29
お住まい: 兵庫県
連絡を取る:

Re: 歩行スピードの変更をプラグインコマンドで行いたい

投稿記事by tubo » 2018年10月20日(土) 22:34

ここまでいけたのですが、プラグインコマンドにて、256を別の数字へと変更したい場合はどうすれば良いのでしょうか?

ゲーム中に値を変更したい場合は、256を変数にする必要があります。
変数名は半角文字で数字記号以外から始まり、同じ名前が他になければなんでもいいです。

コード: 全て選択

var moveDeno = 256; // 変数の宣言  var 変数名 = 初期値;
Game_CharacterBase.prototype.distancePerFrame = function() {
    return Math.pow(2, this.realMoveSpeed()) / moveDeno; // 変更したい箇所を変数に
};

このコードのCriticalAnimation、AnimationID、 FlashEffectを変更をすれば良いと思うのですが、何にしたら良いのか分かりません。

そのコードはプラグインパラメータを取得するコードなので、プラグインコマンドは別のコードになります。
ChangeMove set 200 のようなコマンドを作りたい場合は下記のようになります。

コード: 全て選択

var _Game_Interpreter_pluginCommand =
        Game_Interpreter.prototype.pluginCommand;
Game_Interpreter.prototype.pluginCommand = function(command, args) {
    _Game_Interpreter_pluginCommand.call(this, command, args);
    // ここまで固定
    if (command === 'ChangeMove') { // コマンド名を設定 (プラグイン名と同名が一般的)
        switch (args[0]) { // 固定
        case 'set': // 命令名を設定
            moveDeno = Number(args[1]); // ここに処理を書きます
            break; // caseの終了時に記述します
        }
    }
}

適当なプラグインからコピペして変更しています。
commandにChangeMove、args[0]にset、args[1]に200、が全て文字列で送られてきます。
args[1]は数値にしたいので、Number(args[1])で変換して変数に代入します。

最終的なコードです。

コード: 全て選択

(function(){
    'use strict'
    var moveDeno = 256;
    var _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
    Game_Interpreter.prototype.pluginCommand = function(command, args) {
        _Game_Interpreter_pluginCommand.call(this, command, args);
        if (command === 'ChangeMove') {
            switch (args[0]) {
            case 'set':    moveDeno = Number(args[1]);    break;
            }
        }
    }
    Game_CharacterBase.prototype.distancePerFrame = function() {
        return Math.pow(2, this.realMoveSpeed()) / moveDeno;
    };
})();
アバター
黒輝零夜
記事: 40
登録日時: 2017年3月28日(火) 21:21
お住まい: Japan
連絡を取る:

Re: 歩行スピードの変更をプラグインコマンドで行いたい

投稿記事by 黒輝零夜 » 2018年10月21日(日) 17:08

tubo様、ありがとうございます。
//の後に説明があって、分かりました。

この質問は、解決済みとします。

“MV:質問” へ戻る