diff options
Diffstat (limited to 'scripts/audio.gd')
-rw-r--r-- | scripts/audio.gd | 22 |
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() |