From 35e5e8560da7b66bb988d0f1fc1db521e6e59bd7 Mon Sep 17 00:00:00 2001 From: Logan Date: Mon, 15 May 2023 05:47:18 -0600 Subject: Added basketball collision sounds and audio system --- scripts/audio.gd | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 scripts/audio.gd (limited to 'scripts/audio.gd') diff --git a/scripts/audio.gd b/scripts/audio.gd new file mode 100644 index 0000000..97f5df6 --- /dev/null +++ b/scripts/audio.gd @@ -0,0 +1,22 @@ +extends Node + +const audible_threshold = 5 +const dropoff_threshold = 50 +const max_vol = 0 +const min_vol = -20 + +func _ready(): + add_streams("res://sound/basketball/", $SFX/Basketball) + +func add_streams(res_directory: String, node: Node): + var index = 0 + for file_name in DirAccess.get_files_at(res_directory): + if file_name.ends_with(".ogg"): + node.stream.add_stream(index, load(res_directory + file_name), 1) + index += 1 + +func impact_noise(velocity: Vector2): + var averaged_velocity = (velocity.x + velocity.y) / 2 + if velocity.y > audible_threshold: + $SFX/Basketball.volume_db = (clamp(averaged_velocity, 0, dropoff_threshold) / dropoff_threshold) * (max_vol - min_vol) + min_vol + $SFX/Basketball.play() -- cgit v1.2.3