xiandie/scene/ground/script/c01/s00_ghost_footstep.gd
2025-04-20 21:35:13 +08:00

33 lines
828 B
GDScript

extends AudioStreamPlayer2D
@export var streams : Array[AudioStream] = [
preload("res://asset/audio/sfx/脚步/03_鬼差脚步_1.wav"),
preload("res://asset/audio/sfx/脚步/03_鬼差脚步_2.wav"),
preload("res://asset/audio/sfx/脚步/03_鬼差脚步_3.wav"),
preload("res://asset/audio/sfx/脚步/03_鬼差脚步_4.wav"),
]
@export var timer_delay : float = 1.5:
set(value):
timer_delay = value
if is_node_ready():
timer.wait_time = timer_delay
var timer = Timer.new()
func _ready() -> void:
add_child(timer)
timer.wait_time = timer_delay
timer.one_shot = false
timer.timeout.connect(_on_timeout)
func _on_timeout() -> void:
stream = streams[randi() % streams.size()]
play()
func start_loop() -> void:
if is_node_ready():
timer.start()
func pause_loop() -> void:
if is_node_ready():
timer.stop()