24 lines
511 B
GDScript
24 lines
511 B
GDScript
extends Area2D
|
|
|
|
@export var jump_speed: float = 600.0 # 向上的初速度
|
|
|
|
##跳跃声音特效
|
|
signal s_jump_sound
|
|
|
|
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()
|