【解決済み】戦闘開始時に指定した座標にアニメーションを表示する方法を教えてください。

返信する
アバター
ビービー
記事: 308
登録日時: 2016年1月12日(火) 18:40

【解決済み】戦闘開始時に指定した座標にアニメーションを表示する方法を教えてください。

投稿記事 by ビービー »

さっそく表題の件なのですが、戦闘開始時に指定した位置にアニメーション(スキルなどに指定するエフェクトのことです)を流せないかと頑張ってみたのですが、うまくいかず困っています。

target.startAnimation(1, false, 0);
でアニメーションをターゲットに表示できることは知っていたので簡単だろうと思い、色々やってみたのですができませんでした。

そこでDG_PlaceAnimationというプラグインを参考にして

コード: 全て選択

BattleManager.startBattle = function() {
this._phase = 'start';
$gameSystem.onBattleStart();
$gameParty.onBattleStart();
$gameTroop.onBattleStart();
    this.displayStartMessages();
//ここから
    var sprite = new Sprite_Base();
    sprite.x = 100;
    sprite.y = 100;
    this._refresh();//Cannot read property 'length' of undefined
    if(SceneManager._scene){  
        SceneManager._scene.addChild(sprite);
        sprite.startAnimation(5, false, 0);
    }
//ここまで追加してみました。
};
という感じでやってみたのですが、うまくいかず。
同じ場所にアクター1にステートを付加する処理を入れたところ戦闘開始時にステートにかかっていたので、おそらく処理を入れる場所はこの辺りであっていると思うのですが、それ以外はまったくどうしていいかわからない状態です。

どうすれば指定した座標にアニメーションを表示させる事ができるのか教えていただけると助かります。
よろしくお願いします。
最後に編集したユーザー ビービー [ 2016年11月01日(火) 23:13 ], 累計 1 回
------------------------------------------------------
Twitterやってます。
https://twitter.com/BB_ENTER
ブログもやってます。
http://bb-entertainment-blog.blogspot.jp/
奏ねこま
記事: 702
登録日時: 2016年1月20日(水) 20:04

Re: 戦闘開始時に指定した座標にアニメーションを表示する方法を教えてください。

投稿記事 by 奏ねこま »

this._refresh();とありますけど、BattleManagerに_refreshという関数はありませんよね?
あと、startAnimationの第一引数はアニメーションIDではなく、アニメーションのデータです。
なので、

・this._refresh();はいらないので削除
・startAnimationの第一引数を$dataAnimations[5]に変更

これで、とりあえずアニメーションが実行されると思います。
アバター
ビービー
記事: 308
登録日時: 2016年1月12日(火) 18:40

Re: 戦闘開始時に指定した座標にアニメーションを表示する方法を教えてください。

投稿記事 by ビービー »

奏ねこまさん本当にいつもありがとうございます。

おかげさまで今回も無事やりたいことが実現できました。
これにて解決とさせていただきます。
------------------------------------------------------
Twitterやってます。
https://twitter.com/BB_ENTER
ブログもやってます。
http://bb-entertainment-blog.blogspot.jp/
返信する

“MV:質問”に戻る