generated at
Godot3で追い越し弾
同時に射出された弾が、初速と反比例して加速して追い越す弾
py
extends EnemyBase export(int) var bullet_speed = 45 export(int) var bullet_num = 8 export var spread_num_cycle = [5,6,7,8,9,10] onready var use_bullet = preload("res://Scenes/Bullets/E_Bullet_red_8x8.tscn") var cycle = 0 func _shoot(player): # 重なって発射されて追い越す弾 cycle %= spread_num_cycle.size() var spread_num = spread_num_cycle[cycle] cycle += 1 for i in spread_num + 1: for j in bullet_num: var bullet = use_bullet.instance() bullet.position = Vector2(16,16) _add_bullet_to_root(bullet) bullet.speed = bullet_speed bullet.dir = Vector2(1,1).rotated((PI / 2 / spread_num) * i) bullet.dir = bullet.dir * pow(0.93, j) bullet.dir_add = bullet.dir * j * .006
pow() で、射出数 j に比例して初速を減らしておく
j に比例して加速度を設定しておく