Added audio component

This commit is contained in:
2024-02-14 18:05:57 +01:00
parent ec676aad5d
commit 37e8852c51
7 changed files with 98 additions and 4 deletions

View File

@ -0,0 +1,27 @@
class_name AudioComponent
extends Node
@export var movement: MovementComponent
@export var footsteps: Array[AudioStream]
@export var interval: float = 0.3
var audio_player: AudioStreamPlayer3D
var last_footstep: float
func _ready():
audio_player = $Footsteps
func _process(_delta):
if Time.get_unix_time_from_system() - last_footstep < interval:
return
if movement.direction == Vector3.ZERO:
return
if !movement.body.is_on_floor():
return
audio_player.stream = footsteps[randi_range(0, footsteps.size()-1)]
audio_player.pitch_scale = randf_range(0.9, 1.1)
audio_player.play()
last_footstep = Time.get_unix_time_from_system()

View File

@ -0,0 +1,10 @@
[gd_scene load_steps=2 format=3 uid="uid://clnfp813k7lep"]
[ext_resource type="Script" path="res://player/audio/AudioComponent.gd" id="1_0j3jl"]
[node name="Audio" type="Node3D"]
script = ExtResource("1_0j3jl")
[node name="Footsteps" type="AudioStreamPlayer3D" parent="."]
max_distance = 20.0
bus = &"Footsteps"