feat: 添加浮动文字,展示伤害和躲避

This commit is contained in:
luke358
2026-05-18 16:53:50 +08:00
parent 66452f1072
commit 883a9b4c05
8 changed files with 103 additions and 7 deletions
+27 -3
View File
@@ -3,11 +3,35 @@ class_name Arena
@export var player: Player
@export var normal_color: Color
@export var bloacked_color: Color
@export var critical_color: Color
@export var hp_color: Color
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
Global.player = player
Global.on_create_block_text.connect(_on_create_block_text)
Global.on_create_damage_text.connect(_on_create_damage_text)
func crteat_floating_text(unit: Node2D) -> FloatingText:
var instace := Global.FLOATING_TEXT_SCENE.instantiate() as FloatingText
get_tree().root.add_child(instace)
var random_pos := randf_range(0, TAU) * 35
var spawn_pos := unit.global_position + Vector2.RIGHT.rotated(random_pos)
instace.global_position = spawn_pos
return instace
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
func _on_create_block_text(unit: Node2D) -> void:
var text := crteat_floating_text(unit)
text.setup("Blocked!", bloacked_color)
func _on_create_damage_text(unit: Node2D, hitbox: HitboxComponent) -> void:
var text := crteat_floating_text(unit)
var color := critical_color if hitbox.critical else normal_color
text.setup(str(hitbox.damage), color)