godot-plateformer/_props/spring/spring.gd

24 lines
511 B
GDScript3
Raw Normal View History

2026-01-11 14:18:06 +08:00
extends Area2D
@export var jump_speed: float = 600.0 # 向上的初速度
##跳跃声音特效
signal s_jump_sound
2026-01-11 14:18:06 +08:00
func _ready() -> void:
body_entered.connect(_on_body_entered)
func _on_body_entered(body: Node) -> void:
# 只处理 CharacterBody2D
if body is CharacterBody2D:
# 给予垂直向上的速度
var dir := -global_transform.y.normalized()
body.velocity = dir * jump_speed
# 播放弹簧音效
on_ejection()
func on_ejection() -> void:
# 播放弹簧音效
s_jump_sound.emit()