解決済み【VXace】ゆらゆら動く敵

co1313
記事: 13
登録日時: 2018年2月20日(火) 22:52

解決済み【VXace】ゆらゆら動く敵

投稿記事by co1313 » 2018年2月20日(火) 23:12

こんにちは。初心者なので、トピック場所など間違えていたらすみません。

RPGツクールVXaceにてゲーム作成途中です。
敵に軽いアニメーションを付けたいと考え、検索した所、

「Supponの意味不明ブログ」様のスクリプト
http://supponweblog.blog88.fc2.com/blog ... comment142
にたどり着きました。
早速コメント欄にあるスクリプトを導入してみたところ
大変理想通りの動きでした。ですが、

・最初に表示される位置が右下
・攻撃した際左に大きくずれる

などの点が修正できません。
xやyの記載があるところをいじってみたのですが、上手くいかず…

動きが理想に近いだけにどうにかしようと試みています。
何かヒントだけでもいただけないでしょうか。

また、こちらのブログ様を参考にされたという
「ネストの多い素材集」様のスクリプト
http://moomoo.asablo.jp/blog/2012/03/21/6383841
も試させていただきましたがやはりゆらゆら動きませんでした。

お知恵を拝借させていただければ光栄です。
最後に編集したユーザー co1313 on 2018年2月22日(木) 10:38 [ 編集 1 回目 ]

TOMO
記事: 343
登録日時: 2015年11月16日(月) 20:12
連絡を取る:

Re: 【VXace】ゆらゆら動く敵

投稿記事by TOMO » 2018年2月21日(水) 03:08

これでどうですか?

コード: 全て選択

class Sprite_Battler
  def initialize(viewport, battler = nil)
    super(viewport)
    @battler = battler
    @battler_visible = false
    @effect_type = nil
    @effect_duration = 0
    @t = rand(720) #★
  end
 
  def update_position
    motion  #★
    self.x = @battler.screen_x + @ax  #★
    self.y = @battler.screen_y + @ay  #★
    self.z = @battler.screen_z
  end
 
  def motion #★
    return unless @battler.movable?
    @ax = (Math.sin(Math::PI * @t * 2 / 360.0) * 10).ceil
    @ay = (Math.sin(Math::PI * @t * 1 / 360.0) * 4).ceil
    @t += 1
    @t = 0 if @t >= 720
  end
end
co1313
記事: 13
登録日時: 2018年2月20日(火) 22:52

Re: 【VXace】ゆらゆら動く敵

投稿記事by co1313 » 2018年2月22日(木) 10:37

早速ありがとうございます。
試してみたところ、なんの問題もなく動作しました!

検索しても分からなくて途方に暮れていたので助かりました。
ありがとうございます!

“VX / Ace:質問” へ戻る