generated at
Godot3で分裂する弾
発射後、しばらくしてから分裂する弾を実装する
割と簡単で、分裂するまでの時間を管理する Timer を追加し、timeout 検知で分裂弾を発生させて自分自身は queue_free()する
gd
extends EnemyBulletBase onready var divide_timer = $DivideTimer onready var use_bullet = preload("res://Scenes/Bullets/E_Bullet_red_6x6.tscn") export(int) var divide_time = 4 export(int) var divide_num = 16 export(int) var divide_bullet_speed = 40 export(int) var rotate_speed = 10 func _ready(): divide_timer.wait_time = divide_time divide_timer.start() func _on_DivideTimer_timeout(): # 一定時間で小さい弾に分裂する AudioManager.play_se(AudioManager.SEType.SE_DIVIDE_BULLET) for i in divide_num + 1: var bullet = use_bullet.instance() _add_bullet_to_root(bullet) bullet.speed = divide_bullet_speed bullet.dir = Vector2(1,0).rotated((PI * 2/ divide_num) * i) queue_free()