Added audio component
This commit is contained in:
27
client/player/audio/AudioComponent.gd
Normal file
27
client/player/audio/AudioComponent.gd
Normal 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()
|
10
client/player/audio/AudioComponent.tscn
Normal file
10
client/player/audio/AudioComponent.tscn
Normal 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"
|
Reference in New Issue
Block a user