連続攻撃の際の、アニメーション重複のオンオフ

terueru
記事: 72
登録日時: 2016年5月29日(日) 22:28

連続攻撃の際の、アニメーション重複のオンオフ

投稿記事by terueru » 2017年9月16日(土) 15:54

いつもお世話になっております

早速なのですが、リクエストさせて頂くのは表題の件です

スキルの連続回数を2以上にするとアニメーションが重複して再生されますが、

これをスキルによって、重複させたり、させなかったり(1回のみ再生)したいのです

検索したところ、下記の記事が見つかりました

このプラグインの機能にスキル毎のオンオフさえつけれれば理想です

作って頂ける方がいらっしゃいましたら、宜しくお願い致します

viewtopic.php?t=1056

アバター
ONOZUKA
記事: 63
登録日時: 2015年11月11日(水) 13:31
お住まい: 幻想郷
連絡を取る:

Re: 連続攻撃の際の、アニメーション重複のオンオフ

投稿記事by ONOZUKA » 2017年9月16日(土) 16:41

初めまして、ONOZUKAと申します。
スキルのコモンイベントなりでスイッチ操作をすることによりオンオフが可能なります。
$gameSwitches.value(1)のカッコ内数字でスイッチ番号を調整できます。

コード: 全て選択

//=============================================================================
// 多重アニメーションカットプラグイン2
//=============================================================================
//Copyright (c) 2016 Trb
// This software is released under the MIT License.
// http://opensource.org/licenses/mit-license.php
//
//twitter https://twitter.com/Trb_surasura
/*:
 * @plugindesc 連続攻撃した時にアニメーションを多重再生しないようにします。
 * @author Trb
 *
 * @help 連続攻撃した時にアニメーションを多重再生しないようにするプラグインです。
 * 設定は特に必要ありません。

 */
(function () {
if ($gameSwitches.value(1)){
Sprite_Battler.prototype.setupAnimation = function() {
    var beforeData = 0;//1つ前のアニメーションIDを記録する変数
    while (this._battler.isAnimationRequested()) {
        var data = this._battler.shiftAnimation();
        if(data.animationId != beforeData){//アニメーションIDが1つ前のものと違っていたらセットする
            var animation = $dataAnimations[data.animationId];
            var mirror = data.mirror;
            var delay = animation.position === 3 ? 0 : data.delay;
            this.startAnimation(animation, mirror, delay);//アニメーションをセットするメソッド
            beforeData = data.animationId;//今セットしたアニメーションのIDを代入
            for (var i = 0; i < this._animationSprites.length; i++) {
                var sprite = this._animationSprites[i];
                sprite.visible = this._battler.isSpriteVisible();
                }
            }
        }
    }
};

           

})();
=============================================================================
RPGツクールVXACEでゲームを作っているはずです!
HP:http://tenkoma.info Twitter:https://twitter.com/ONOZUKA7
=============================================================================
terueru
記事: 72
登録日時: 2016年5月29日(日) 22:28

Re: 連続攻撃の際の、アニメーション重複のオンオフ

投稿記事by terueru » 2017年9月16日(土) 17:10

ONOZUKA様

ありがとうございます!

しかし、頂いたコードをコピペして貼り付けてみましたが、普通に重複再生されてしまいました。

スイッチを変更しても変わりませんでした;
アバター
ONOZUKA
記事: 63
登録日時: 2015年11月11日(水) 13:31
お住まい: 幻想郷
連絡を取る:

Re: 連続攻撃の際の、アニメーション重複のオンオフ

投稿記事by ONOZUKA » 2017年9月16日(土) 18:50

どうやら条件分岐を入れるところを間違っていたようです。
以下だと正常に動作するかと思いますので、お試しください。

コード: 全て選択

//=============================================================================
// 多重アニメーションカットプラグイン2
//=============================================================================
//Copyright (c) 2016 Trb Add by ONOZUKA
// This software is released under the MIT License.
// http://opensource.org/licenses/mit-license.php
//
//twitter https://twitter.com/Trb_surasura
/*:
 * @plugindesc 連続攻撃した時にアニメーションを多重再生しないようにします。
 * @author Trb
 *
 * @help 連続攻撃した時にアニメーションを多重再生しないようにするプラグインです。
 * 設定は特に必要ありません。
 *
 * @param OnOffSW
 * @desc オンオフするスイッチ番号を指定します。オンのとき動作します。
 * @default 0

 */
(function () {
var ChangeSW = Number(parameters['OnOffSW'] || 0); //簡易設定の取得
Sprite_Battler.prototype.setupAnimation = function() {
    var beforeData = 0;//1つ前のアニメーションIDを記録する変数
    while (this._battler.isAnimationRequested()) {
        var data = this._battler.shiftAnimation();
        if(data.animationId != beforeData && $gameSwitches.value(ChangeSW) == true){//アニメーションIDが1つ前のものと違っていたらセットする
            var animation = $dataAnimations[data.animationId];
            var mirror = data.mirror;
            var delay = animation.position === 3 ? 0 : data.delay;
            this.startAnimation(animation, mirror, delay);//アニメーションをセットするメソッド
            beforeData = data.animationId;//今セットしたアニメーションのIDを代入
            for (var i = 0; i < this._animationSprites.length; i++) {
                var sprite = this._animationSprites[i];
                sprite.visible = this._battler.isSpriteVisible();
                }
                $gameSwitches.setValue(ChangeSW,false)//起動後自動的にスイッチをオフにする。
            }
        }
    }
};

           

})();
=============================================================================
RPGツクールVXACEでゲームを作っているはずです!
HP:http://tenkoma.info Twitter:https://twitter.com/ONOZUKA7
=============================================================================
terueru
記事: 72
登録日時: 2016年5月29日(日) 22:28

Re: 連続攻撃の際の、アニメーション重複のオンオフ

投稿記事by terueru » 2017年9月17日(日) 12:11

ありがとうございます!!

これでなんとかなりそうです

非常に助かりました!
terueru
記事: 72
登録日時: 2016年5月29日(日) 22:28

Re: 連続攻撃の際の、アニメーション重複のオンオフ

投稿記事by terueru » 2017年9月27日(水) 00:20

今更申し訳ありません

プラグインを導入して、試行錯誤しましたが、

コモンイベントで対応するスイッチをいじっても何も動作しませんでした(普通にアニメーションが多重に再生される)

スキルのコモンイベントではスイッチの操作はアニメーション再生後に行われてしまうので、手遅れなんですかね・・?


他に方法はないでしょうか・・。

“MV:プラグイン素材のリクエスト” へ戻る