戦闘アニメーションの表示切替プラグイン

フォーラムルール
素材の利用規約を決めたいけど、どんなことを書けばいいのか分からない場合は、
素材のテンプレートをご利用下さい。
アバター
ハーリー
記事: 19
登録日時: 2016年3月14日(月) 23:07

戦闘アニメーションの表示切替プラグイン

投稿記事by ハーリー » 2016年7月10日(日) 16:27

オプションに「戦闘アニメーション」の項目を追加します。
プレイヤーが任意に戦闘アニメーションを非表示にすることができます。
ハクスラ系のRPGや低スペック環境において戦闘のテンポアップを図ります。
2016-07-12.png

画像
画像
画像
画像
画像
画像
添付ファイル
Hurry_AnimationCut.js
ver1.1
(2.18 KiB) ダウンロード数: 254 回
最後に編集したユーザー ハーリー on 2016年7月12日(火) 08:24 [ 編集 1 回目 ]

アバター
U-D
記事: 104
登録日時: 2015年12月21日(月) 19:27
連絡を取る:

Re: 戦闘アニメーションの表示切替プラグイン

投稿記事by U-D » 2016年7月12日(火) 00:38

ハーリー様、素敵なプラグインをありがとうございます。
一つ要望があるのですがよろしいでしょうか?

プラグインを導入してから初めてゲームを起動した際、
オプションの戦闘アニメーションの項目が OFF になっております。

オプションに手をつけずにゲームを開始するプレイヤーの方々もいらっしゃると思うので、
こちらの項目をデフォルトで ON にしておく事ができるパラメータを
追加していただけないでしょうか?
アバター
ハーリー
記事: 19
登録日時: 2016年3月14日(月) 23:07

Re: 戦闘アニメーションの表示切替プラグイン

投稿記事by ハーリー » 2016年7月12日(火) 08:27

>U-D様

ご報告ありがとうございます!
初期状態からONにしていたつもりでしたが、セーブデータをロードして使用していたため、
ただの勘違い…デバック不足でした。申し訳ありません。

最初からONにする方法がわからなかったので、
「戦闘アニメーション」をOFFにするのではなく
「戦闘アニメ非表示」をONにすると非表示にする方式に変更しました。
アバター
yamachan
記事: 107
登録日時: 2016年6月19日(日) 22:34

Re: 戦闘アニメーションの表示切替プラグイン

投稿記事by yamachan » 2016年7月12日(火) 19:36

こんばんは! :D

オプションメニューを扱うとき、初期状態のチェックって忘れがちですよね。
たまに config.rpgsave を削除してテストする癖をつけるのが良いかもしれません。

ConfigManager.applyData ですが、config.rpgsave が無いと空のオブジェクトが渡されます。
また途中で本プラグインを組み込んだ場合でも、保存された値は無い(===undefined)ですね。
なので例えば、以下のように変更してはどうでしょうか。

コード: 全て選択

var _ConfigManager_applyData = ConfigManager.applyData;
ConfigManager.applyData = function(config) {
   _ConfigManager_applyData.apply(this, arguments);
   this.animationCut = config.animationCut === undefined ? true : this.readFlag(config, 'animationCut');
};


ついでなのですが、startAnimation は元のロジックを生かしたほうが、他のプラグインとの競合が減るとおもいます。

コード: 全て選択

var _Game_Battler_startAnimation = Game_Battler.prototype.startAnimation;
Game_Battler.prototype.startAnimation = function(animationId, mirror, delay) {
   if(ConfigManager.animationCut){
      _Game_Battler_startAnimation.call(this, arguments)
   }
};


ではでは。
Toshio Yamashita (yamachan)
Plugin https://github.com/yamachan/jgss-hack/blob/master/README.ja.md
Twitter https://twitter.com/yamachan360

私が作成して本サイトに投稿したコードは著作権を放棄し、利用・改変・配布など全て自由です。
ただし同じ投降内に制限を明記している場合はそちらが優先します。
アバター
ハーリー
記事: 19
登録日時: 2016年3月14日(月) 23:07

Re: 戦闘アニメーションの表示切替プラグイン

投稿記事by ハーリー » 2016年7月12日(火) 21:20

>yamachan様

詳しい解説ありがとうございます!
なるべくcall関数を利用して、元ロジックを利用する方が競合が少ないのですね。

早速お借りしたコード(下の方)を入れてみたのですが、
cannot read property 'position' of undefined
が表示され、上手く機能しませんでした…。
また上の方のコードについてですが、初期状態で他のオプション項目
「常時ダッシュ」「コマンド記憶」の項目がOFFになっていることから、
このプラグインもそれに倣い初期状態はOFFにする方が納まりがいいのではないか、
と思ったので現状のままにすることにします。

それにしても、プラグインのコードを添削していただき、とても勉強になりました! :D
アバター
yamachan
記事: 107
登録日時: 2016年6月19日(日) 22:34

Re: 戦闘アニメーションの表示切替プラグイン

投稿記事by yamachan » 2016年7月12日(火) 23:58

こんばんは! :D

すみません、確認せず元のコードを中途半端に書き換えてしてしまいました。 :oops:
apply じゃないので引数を配列で渡してはダメですね…

コード: 全て選択

if(ConfigManager.animationCut){
   _Game_Battler_startAnimation.call(this, animationId, mirror, delay);
}

もしくは

コード: 全て選択

if(ConfigManager.animationCut){
   _Game_Battler_startAnimation.appy(this, arguments);
}

で動作するとおもいます。

元の関数をなるべく呼ぶようにすると、同じ関数を書き換える他のプラグインと組み合わせても、うまく動作する可能性が高まります。
今回はOFFだと元の関数を呼ばないので、完全ではないですが…
自分で書く場合には「OFFの場合、animationIdにnull指定してでも一応は呼んでおいたほうが無難だろうか、いやそこまですることはないか?でも…」など悩むとおもいます :D
Toshio Yamashita (yamachan)
Plugin https://github.com/yamachan/jgss-hack/blob/master/README.ja.md
Twitter https://twitter.com/yamachan360

私が作成して本サイトに投稿したコードは著作権を放棄し、利用・改変・配布など全て自由です。
ただし同じ投降内に制限を明記している場合はそちらが優先します。
アバター
U-D
記事: 104
登録日時: 2015年12月21日(月) 19:27
連絡を取る:

Re: 戦闘アニメーションの表示切替プラグイン

投稿記事by U-D » 2016年7月13日(水) 00:54

ハーリー様、素早く対応していただき助かります!
ありがとうございました!

“MV:プラグイン素材” へ戻る