33 lines
828 B
GDScript
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() |