【解決済み】RexalさんのanimatedSVEnemiesについて

Nata
記事: 12
登録日時: 2019年3月24日(日) 21:01

【解決済み】RexalさんのanimatedSVEnemiesについて

投稿記事by Nata » 2020年4月15日(水) 19:01

お世話になっております。

https://forums.rpgmakerweb.com/index.php?threads/animated-enemies.47991/

Rexalさんのプラグインで敵キャラクターをアニメーションさせております。

都合上、
敵の行動時、「一歩前に出る」、終わったら「戻る」のアクションをさせたくなくて、
プラグインパラメータの、「No Movement」をtrueにしたところ(画像1)、
敵バトラーが大きく右側にずれて表示されてしまいます(画像2)。

また、砂川赳さんのDynamicMotion(http://newrpg.seesaa.net/article/473809182.html)も
併用しておりまして、<D-Motion:return/>コマンドをメモに書いたスキル「元の位置に戻る」を
その敵キャラに使用させると正しい座標に戻るので(画像3)、
バトル開始のたびに敵キャラにそのスキルを強制的に使わせればいい、とも思ったのですが、
毎回右側からジャンプさせるのも変なので…

これを、バトル開始時から正しい座標に配置するにはどうしたらいいでしょうか?
(バトル開始の時点で画像3のように配置されるのが望ましいです)。

どなたか、ご教授頂けたら幸いです。
宜しくお願いします。
添付ファイル
ss015.jpg
画像3
ss013.jpg
画像2
ss014.jpg
画像1
最後に編集したユーザー Nata on 2020年4月21日(火) 08:23 [ 編集 1 回目 ]

Nata
記事: 12
登録日時: 2019年3月24日(日) 21:01

Re: RexalさんのanimatedSVEnemiesについて

投稿記事by Nata » 2020年4月20日(月) 13:23

693行目の
Sprite_Enemy.prototype.setBattler = function(battler)
メソッド内に、

this.startMove(0, 0, 12);
を呼ぶことで元の位置に戻せないかと試してみましたが動かず…

787行目のSprite_Enemy.prototype.setHome = function(x,y)
あるいは995行目のSprite_EnemyRex.prototype.setActorHome = function(battler)
メソッド内のxを直接いじると「元の位置自体」が変わってしまいダメでした。

アニメする敵グラだけがバトル開始時に大きく右にずれる原因がわからず
制作を進められずにいます…

どうか助けて頂けないでしょうか。
アバター
Plasma Dark
記事: 676
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: RexalさんのanimatedSVEnemiesについて

投稿記事by Plasma Dark » 2020年4月20日(月) 22:01

原因は本当に NoMovement の設定だけでしょうか。
新規プロジェクトに animatedSVEnemies.js のみを入れても再現しますか?

animatedSVEnemies.js は Sprite_Actor を継承したクラスを使って敵アクター画像を表示させて動かしているようです。
Sprite_Actor をいじるような他のプラグインと競合していないでしょうか。
Nata
記事: 12
登録日時: 2019年3月24日(日) 21:01

Re: RexalさんのanimatedSVEnemiesについて

投稿記事by Nata » 2020年4月20日(月) 22:29

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

新規プロジェクトにこのプラグインだけを入れて設定しても、
同じように右側にずれます(画像参照)。

No Movementのパラメータをtrue、falseにするだけで画像のように再現されます。
添付ファイル
ss022.jpg
ss021.jpg
ss020.jpg
ss019.jpg
アバター
Plasma Dark
記事: 676
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: RexalさんのanimatedSVEnemiesについて

投稿記事by Plasma Dark » 2020年4月20日(月) 23:47

なんとなくわかりました。
位置の初期化を定義してないので、味方アクターと同じ初期化をしようとしておかしなことになってそうです。
NoMovement が無効になっているときには stepBack で元の位置に戻るように見えていますが、 NoMovement を有効にしてしまうと stepBack が効かないので戻れません。

以下のコードを足すと治らないでしょうか。

コード: 全て選択

Sprite_EnemyRex.prototype.moveToStartPosition = function() {
    this.startMove(0, 0, 0);
};
Nata
記事: 12
登録日時: 2019年3月24日(日) 21:01

Re: RexalさんのanimatedSVEnemiesについて

投稿記事by Nata » 2020年4月21日(火) 08:22

教えて頂いたメソッドを追加したら正しい位置に配置されるようになりました!
Plasma Darkさんありがとうございます!

これで制作が進められます!
本当にありがとうございました!

“MV:質問” へ戻る