make footsteps player only play if on ground

This commit is contained in:
2025-08-14 14:31:09 +10:00
parent 60664ba97f
commit 77658021ec
3 changed files with 124 additions and 117 deletions

View File

@@ -1,7 +1,10 @@
class_name FootstepsPlayer
extends AudioStreamPlayer3D
@export var _footsteps: AudioStream
var can_play: bool = true
@onready var _polyphonic := get_stream_playback() as AudioStreamPlaybackPolyphonic
@@ -11,4 +14,5 @@ func _ready() -> void:
func play_footstep() -> void:
_polyphonic.play_stream(_footsteps)
if can_play:
_polyphonic.play_stream(_footsteps)

View File

@@ -6,6 +6,7 @@ extends AnimationTree
@export var _bone_flipper: BoneFlipper
@export var _sfx_audio_player: AudioStreamPlayer3D
@export var _hurt_particles: GPUParticles3D
@export var _footsteps_player: FootstepsPlayer
@export_group("Audio")
@export var _hurt_sound: AudioStream
@@ -32,6 +33,7 @@ func _ready() -> void:
func _process(_delta: float) -> void:
_footsteps_player.can_play = _player.is_on_floor()
_bone_flipper.flip = _is_left()
var has_input_prev := _has_input