mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-28 06:51:54 +08:00
fix(BigLaser): 修复跳帧导致伤害检测失败的问题
在applyDot函数中添加等待一帧的逻辑,确保伤害检测不会因跳帧而失效
This commit is contained in:
@@ -7,13 +7,13 @@ var executeAtk: float = 0.25
|
|||||||
func spawn():
|
func spawn():
|
||||||
CameraManager.shake(5000, 100) # 激光会运行5秒(5000毫秒),期间震屏超高强度
|
CameraManager.shake(5000, 100) # 激光会运行5秒(5000毫秒),期间震屏超高强度
|
||||||
CameraManager.playAnimation("bigLaser")
|
CameraManager.playAnimation("bigLaser")
|
||||||
baseDamage *= launcher.fields[FieldStore.Entity.ATTACK_SPEED]
|
|
||||||
func ai():
|
func ai():
|
||||||
rotation = lerp_angle(rotation, ((launcher.currentFocusedPosition - position).angle()), 0.1)
|
rotation = lerp_angle(rotation, ((launcher.currentFocusedPosition - position).angle()), 0.1)
|
||||||
position = launcher.texture.global_position
|
position = launcher.texture.global_position
|
||||||
func applyDot():
|
func applyDot():
|
||||||
hitbox.disabled = true
|
hitbox.disabled = true
|
||||||
await TickTool.millseconds(dotTime / launcher.fields[FieldStore.Entity.ATTACK_SPEED])
|
await TickTool.millseconds(dotTime / launcher.fields[FieldStore.Entity.ATTACK_SPEED])
|
||||||
|
await TickTool.frame() # 等至少一帧,防止跳帧导致没检测到伤害
|
||||||
hitbox.disabled = false
|
hitbox.disabled = false
|
||||||
await TickTool.millseconds(dotTime / launcher.fields[FieldStore.Entity.ATTACK_SPEED])
|
await TickTool.millseconds(dotTime / launcher.fields[FieldStore.Entity.ATTACK_SPEED])
|
||||||
await TickTool.frame() # 等至少一帧,防止跳帧导致没检测到伤害
|
await TickTool.frame() # 等至少一帧,防止跳帧导致没检测到伤害
|
||||||
|
|||||||
Reference in New Issue
Block a user