Godot3でカーブ軌道弾
発射後、カーブがかかったかのように左右に軌道を変えて飛んでくる弾
左右ベクトルへ徐々に加算する
code:py
var spread_num = 24
for i in spread_num + 1:
var bullet = use_bullet.instance()
_add_bullet_to_root(bullet)
bullet.speed = bullet_speed
bullet.dir = Vector2(1,0).rotated((PI * 2/ spread_num) * i)
bullet.dir_add = Vector2(1,.2) * sin(rand_range(0.002, 0.006))
for i in spread_num + 1:
var bullet = use_bullet.instance()
_add_bullet_to_root(bullet)
bullet.speed = bullet_speed
bullet.dir = Vector2(1,0).rotated((PI * 2/ spread_num) * i)
bullet.dir_add = Vector2(-1,.2) * sin(rand_range(0.002, 0.006))
最後の bullet.dir_add を弾のスクリプトで毎フレームaddする
rand_range を使わずに、sin の引数を定数にすると、同じ軌道になって安全地帯が生まれる
https://gyazo.com/f227800fdbd50957407e8c4de39c9f6e
rand_range を使うことで軌道にランダムが生まれて安全地帯がなくなる
https://gyazo.com/768d8b0a9daf89d8cfad9ab6d22f573c