summaryrefslogtreecommitdiff
path: root/scripts/audio.gd
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/audio.gd')
-rw-r--r--scripts/audio.gd22
1 files changed, 22 insertions, 0 deletions
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()