サイドビュー時、バトルアニメの表示面について

アバター
進撃のエレン
記事: 78
登録日時: 2017年5月13日(土) 21:01

サイドビュー時、バトルアニメの表示面について

投稿記事by 進撃のエレン » 2020年3月23日(月) 09:43

この度、ご質問させて頂く内容ですが「サイドビュー時のバトルアニメーション表示面について」です。

現在サイドビューにて作成していて、バトルアニメが画面の最前面で表示され
これをアクターのすぐ前の面で表示出来ないかと思い色々探していたところ、
公式の「新機能活用講座」の画像では、きちんとアクターのすぐ前の面で表示されています。

こちらが「新機能活用講座」の画像です。
image004.jpg
image004.jpg (81.07 KiB) 閲覧数: 3577 回


新規プロジェクトを作成し
データベース「システム」→サイドビュー戦闘を使用にチェック
を入れただけのプロジェクトでバトルアニメを表示させたところ

vlcsnap-2020-03-23-09h21m42s766.png


この様に他のアクターにかぶってしまっています。
これを「新機能活用講座」の画像の様にする事は可能でしょうか?

そもそもこれは「新機能活用講座」の画像が間違っているのか
現在のVer1.6.2ではこの様にならないのかどちらでしょうか?

何卒宜しくお願い致します。

アバター
剣崎 宗二
記事: 678
登録日時: 2016年11月12日(土) 20:36
連絡を取る:

Re: サイドビュー時、バトルアニメの表示面について

投稿記事by 剣崎 宗二 » 2020年3月23日(月) 13:31

現在のVer1.6.2ではこの様にならないのかどちらでしょうか?

こちらの可能性が高いです。

現状(1.6.2)のコードを見た所、アニメーションのSpriteは常に「開始時の一番上」に追加される動きになっております。
一応私の方でコードを変更し
download/file.php?mode=view&id=14741
この様な効果を生み出すことには成功しましたが、じっくり改修する時間が取れず、他の表示順並び替えのプラグインと著しく相性が悪い方法を使う事に成りましたのであまりお勧めできない状態です。
添付ファイル
test.jpg
----
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
アバター
進撃のエレン
記事: 78
登録日時: 2017年5月13日(土) 21:01

Re: サイドビュー時、バトルアニメの表示面について

投稿記事by 進撃のエレン » 2020年3月23日(月) 14:30

剣崎 宗二 様

早々にお答え頂きましてありがとうございます。

こちらの可能性が高いです。

そうだったのですね。

この様な効果を生み出すことには成功しましたが、じっくり改修する時間が取れず、他の表示順並び替えのプラグインと著しく相性が悪い方法を使う事に成りましたのであまりお勧めできない状態です。


ご面倒かとは思いますが、どのように改修されたか教えて頂いても宜しいでしょうか?

rpg_sprites.js のこちらの部分に何か関係があるのでしょうか?

Sprite_Battler.prototype.setupAnimation = function() {
while (this._battler.isAnimationRequested()) {
var data = this._battler.shiftAnimation();
var animation = $dataAnimations[data.animationId];
var mirror = data.mirror;
var delay = animation.position === 3 ? 0 : data.delay;
this.startAnimation(animation, mirror, delay);
for (var i = 0; i < this._animationSprites.length; i++) {
var sprite = this._animationSprites[i];
sprite.visible = this._battler.isSpriteVisible();
}
}
};
アバター
剣崎 宗二
記事: 678
登録日時: 2016年11月12日(土) 20:36
連絡を取る:

Re: サイドビュー時、バトルアニメの表示面について

投稿記事by 剣崎 宗二 » 2020年3月24日(火) 14:46

改変する側はこっちです。

コード: 全て選択

Sprite_Base.prototype.startAnimation = function(animation, mirror, delay) {
    var sprite = new Sprite_Animation();
    sprite.setup(this._effectTarget, animation, mirror, delay);
    this.parent.addChild(sprite);
    this._animationSprites.push(sprite);
};

詳しいコードを昨日誤って消してしまったので掲載できませんが、基本的な考え方としては、addChildではなく、addChildAtを使う事により、現Spriteの1個上(+1)のindexにSprite_Animationを追加する話です。
(これをやるには「現Spriteの、parent.childrenに於けるindex」を調べる事が必須条件となります)
----
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
アバター
進撃のエレン
記事: 78
登録日時: 2017年5月13日(土) 21:01

Re: サイドビュー時、バトルアニメの表示面について

投稿記事by 進撃のエレン » 2020年3月25日(水) 15:51

ご返信、誠にありがとうございます。

詳しいコードを昨日誤って消してしまったので掲載できませんが、基本的な考え方としては、addChildではなく、addChildAtを使う事により、現Spriteの1個上(+1)のindexにSprite_Animationを追加する話です。
(これをやるには「現Spriteの、parent.childrenに於けるindex」を調べる事が必須条件となります)


教えて頂きましてありがとうございます。
しかしながら、現在の私の力では上記の問題を解決する事が出来ませんでした。
方法を教えて頂いたのに関わらず大変申し訳ございません。

ありがとうございました。

“MV:質問” へ戻る