1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-27 22:41:56 +08:00
Files
Dog-Lynx-And-HCN/scripts/Contents/Bullets/QKSword.gd
T
fallingshrimp 7d6e396985 feat(特效): 添加FooExplosion爆炸效果的多变体资源
新增三种不同变体的爆炸效果资源,包括图片和动画配置
重构爆炸效果实现以支持随机选择不同变体
移除旧的单一爆炸效果资源
2026-03-22 07:43:36 +08:00

29 lines
850 B
GDScript

extends BulletBase
class_name QKSwordBullet
var tracer: EntityBase
var spawnSpeed: float = 1
func register():
spawnSpeed = randf_range(0.25, 1.75)
animator.speed_scale = spawnSpeed
lifeTime /= spawnSpeed
func ai():
if is_instance_valid(tracer):
look_at(tracer.getTrackingAnchor())
if timeLived() > 1000 / spawnSpeed:
PresetBulletAI.forward(self , rotation) # 前进
hitbox.disabled = false
else:
hitbox.disabled = true
func succeedToHit(_dmg: float, entity: EntityBase):
if entity == tracer:
tryDestroy() # 只需要命中一次目标就不需要继续前进了
var eff = EffectController.create(
ComponentManager.getEffect("FooExplosion"),
entity.texture.global_position
)
var varians = randi_range(0, 2)
eff.texture.sprite_frames = load("res://resources/effects/FooExplosion/%d/%d.tres" % [varians, varians])
eff.shot()