summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scenes/audio.tscn17
-rw-r--r--scenes/level.tscn9
-rw-r--r--scripts/audio.gd22
-rw-r--r--scripts/basketball.gd3
-rw-r--r--scripts/mainmenu.gd2
-rw-r--r--sound/basketball/01.oggbin0 -> 9574 bytes
-rw-r--r--sound/basketball/01.ogg.import19
-rw-r--r--sound/basketball/02.oggbin0 -> 9692 bytes
-rw-r--r--sound/basketball/02.ogg.import19
-rw-r--r--sound/basketball/03.oggbin0 -> 9688 bytes
-rw-r--r--sound/basketball/03.ogg.import19
-rw-r--r--sound/basketball/04.oggbin0 -> 9771 bytes
-rw-r--r--sound/basketball/04.ogg.import19
-rw-r--r--sound/basketball/05.oggbin0 -> 9796 bytes
-rw-r--r--sound/basketball/05.ogg.import19
-rw-r--r--sound/basketball/06.oggbin0 -> 9705 bytes
-rw-r--r--sound/basketball/06.ogg.import19
-rw-r--r--sound/basketball/07.oggbin0 -> 9453 bytes
-rw-r--r--sound/basketball/07.ogg.import19
-rw-r--r--sound/basketball/08.oggbin0 -> 9598 bytes
-rw-r--r--sound/basketball/08.ogg.import19
-rw-r--r--sound/basketball/09.oggbin0 -> 9690 bytes
-rw-r--r--sound/basketball/09.ogg.import19
23 files changed, 216 insertions, 8 deletions
diff --git a/scenes/audio.tscn b/scenes/audio.tscn
index 0c43644..2cd2ce1 100644
--- a/scenes/audio.tscn
+++ b/scenes/audio.tscn
@@ -1,11 +1,24 @@
-[gd_scene load_steps=2 format=3 uid="uid://ckf344kaw3ak6"]
+[gd_scene load_steps=4 format=3 uid="uid://b0borf6wisw6m"]
[ext_resource type="AudioStream" uid="uid://cx0oukrbd2e4e" path="res://sound/unused_music.ogg" id="1"]
+[ext_resource type="Script" path="res://scripts/audio.gd" id="1_tpqc7"]
+
+[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_7mg6e"]
+random_pitch = 1.05
+random_volume_offset_db = 0.0
[node name="Audio" type="Node"]
process_mode = 3
+script = ExtResource("1_tpqc7")
+
+[node name="SFX" type="Node" parent="."]
+
+[node name="Basketball" type="AudioStreamPlayer" parent="SFX"]
+stream = SubResource("AudioStreamRandomizer_7mg6e")
+max_polyphony = 5
+bus = &"SFX"
-[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
+[node name="Music" type="AudioStreamPlayer" parent="."]
stream = ExtResource("1")
volume_db = -20.0
bus = &"Music"
diff --git a/scenes/level.tscn b/scenes/level.tscn
index 934a8c0..31b8241 100644
--- a/scenes/level.tscn
+++ b/scenes/level.tscn
@@ -1,11 +1,10 @@
-[gd_scene load_steps=10 format=3 uid="uid://cdtc5xcoq0iun"]
+[gd_scene load_steps=9 format=3 uid="uid://dprjenpi8i42x"]
[ext_resource type="PackedScene" uid="uid://dbcc3l74gqjjo" path="res://scenes/hoop.tscn" id="2"]
[ext_resource type="PackedScene" uid="uid://dnb0otlc0mnc5" path="res://scenes/basketball.tscn" id="3"]
[ext_resource type="PackedScene" uid="uid://cixqgc85i5wnn" path="res://scenes/interface.tscn" id="4"]
[ext_resource type="Texture2D" uid="uid://f47j73kxq8lf" path="res://textures/court.png" id="5_53mtb"]
[ext_resource type="Script" path="res://scripts/camera.gd" id="6"]
-[ext_resource type="PackedScene" uid="uid://ckf344kaw3ak6" path="res://scenes/audio.tscn" id="7"]
[sub_resource type="WorldBoundaryShape2D" id="1"]
@@ -25,7 +24,6 @@ script = ExtResource("6")
[node name="Interface" parent="." instance=ExtResource("4")]
[node name="Background" type="StaticBody2D" parent="."]
-z_index = -1
[node name="FloorCollider" type="CollisionShape2D" parent="Background"]
position = Vector2(93, 113)
@@ -48,10 +46,11 @@ position = Vector2(142, 34)
[node name="Basketball" parent="." instance=ExtResource("3")]
position = Vector2(103, 73)
-
-[node name="Audio" parent="." instance=ExtResource("7")]
+max_contacts_reported = 1
+contact_monitor = true
[connection signal="score" from="Hoop" to="Interface" method="_on_Hoop_score"]
[connection signal="score" from="Hoop" to="Basketball" method="_on_Hoop_score"]
+[connection signal="body_entered" from="Basketball" to="Basketball" method="_on_body_entered"]
[connection signal="reset" from="Basketball" to="Camera2D" method="_on_Basketball_reset"]
[connection signal="reset" from="Basketball" to="Hoop" method="_on_Basketball_reset"]
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()
diff --git a/scripts/basketball.gd b/scripts/basketball.gd
index 7616e14..57c211c 100644
--- a/scripts/basketball.gd
+++ b/scripts/basketball.gd
@@ -103,3 +103,6 @@ func _on_Hoop_score():
if global_variables.score >= phase_increment[2] and global_variables.score < phase_increment[3]:
phase = 2
position_changer()
+
+func _on_body_entered(_body):
+ $"/root/Audio".impact_noise(abs($"/root/Node2D/Basketball".get_linear_velocity()))
diff --git a/scripts/mainmenu.gd b/scripts/mainmenu.gd
index 8bd062a..32fe4f5 100644
--- a/scripts/mainmenu.gd
+++ b/scripts/mainmenu.gd
@@ -4,7 +4,7 @@ func _ready():
if global_variables.startup:
global_variables.startup = false
$AnnouncerAudio.play()
- $"/root/Audio/AudioStreamPlayer".play()
+ $"/root/Audio/Music".play()
func _on_StartButton_pressed():
get_tree().change_scene_to_file("res://scenes/level.tscn")
diff --git a/sound/basketball/01.ogg b/sound/basketball/01.ogg
new file mode 100644
index 0000000..745dd8f
--- /dev/null
+++ b/sound/basketball/01.ogg
Binary files differ
diff --git a/sound/basketball/01.ogg.import b/sound/basketball/01.ogg.import
new file mode 100644
index 0000000..e301e7c
--- /dev/null
+++ b/sound/basketball/01.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://bpchws6x28ykb"
+path="res://.godot/imported/01.ogg-11496b257ea882cf1240a7838f833786.oggvorbisstr"
+
+[deps]
+
+source_file="res://sound/basketball/01.ogg"
+dest_files=["res://.godot/imported/01.ogg-11496b257ea882cf1240a7838f833786.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0.0
+bpm=0.0
+beat_count=0
+bar_beats=4
diff --git a/sound/basketball/02.ogg b/sound/basketball/02.ogg
new file mode 100644
index 0000000..90b1c26
--- /dev/null
+++ b/sound/basketball/02.ogg
Binary files differ
diff --git a/sound/basketball/02.ogg.import b/sound/basketball/02.ogg.import
new file mode 100644
index 0000000..701ba14
--- /dev/null
+++ b/sound/basketball/02.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://c4yjac1jx3wv4"
+path="res://.godot/imported/02.ogg-d864c9245c14a0afa18778d7de2c5d41.oggvorbisstr"
+
+[deps]
+
+source_file="res://sound/basketball/02.ogg"
+dest_files=["res://.godot/imported/02.ogg-d864c9245c14a0afa18778d7de2c5d41.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0.0
+bpm=0.0
+beat_count=0
+bar_beats=4
diff --git a/sound/basketball/03.ogg b/sound/basketball/03.ogg
new file mode 100644
index 0000000..d986e5f
--- /dev/null
+++ b/sound/basketball/03.ogg
Binary files differ
diff --git a/sound/basketball/03.ogg.import b/sound/basketball/03.ogg.import
new file mode 100644
index 0000000..56f476d
--- /dev/null
+++ b/sound/basketball/03.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://clx2f1qiq4cx5"
+path="res://.godot/imported/03.ogg-c92351942107d6c11c514fff9e9c1c85.oggvorbisstr"
+
+[deps]
+
+source_file="res://sound/basketball/03.ogg"
+dest_files=["res://.godot/imported/03.ogg-c92351942107d6c11c514fff9e9c1c85.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0.0
+bpm=0.0
+beat_count=0
+bar_beats=4
diff --git a/sound/basketball/04.ogg b/sound/basketball/04.ogg
new file mode 100644
index 0000000..b9e3a41
--- /dev/null
+++ b/sound/basketball/04.ogg
Binary files differ
diff --git a/sound/basketball/04.ogg.import b/sound/basketball/04.ogg.import
new file mode 100644
index 0000000..95df4f0
--- /dev/null
+++ b/sound/basketball/04.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://cqq8se05t0pfl"
+path="res://.godot/imported/04.ogg-014b2cb0aa6afbdeae8414bd714cffb1.oggvorbisstr"
+
+[deps]
+
+source_file="res://sound/basketball/04.ogg"
+dest_files=["res://.godot/imported/04.ogg-014b2cb0aa6afbdeae8414bd714cffb1.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0.0
+bpm=0.0
+beat_count=0
+bar_beats=4
diff --git a/sound/basketball/05.ogg b/sound/basketball/05.ogg
new file mode 100644
index 0000000..8b87028
--- /dev/null
+++ b/sound/basketball/05.ogg
Binary files differ
diff --git a/sound/basketball/05.ogg.import b/sound/basketball/05.ogg.import
new file mode 100644
index 0000000..411795e
--- /dev/null
+++ b/sound/basketball/05.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://b4issj5jkdssr"
+path="res://.godot/imported/05.ogg-2b31d6fbeaa5c634bbe19d50d805245c.oggvorbisstr"
+
+[deps]
+
+source_file="res://sound/basketball/05.ogg"
+dest_files=["res://.godot/imported/05.ogg-2b31d6fbeaa5c634bbe19d50d805245c.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0.0
+bpm=0.0
+beat_count=0
+bar_beats=4
diff --git a/sound/basketball/06.ogg b/sound/basketball/06.ogg
new file mode 100644
index 0000000..3ecb577
--- /dev/null
+++ b/sound/basketball/06.ogg
Binary files differ
diff --git a/sound/basketball/06.ogg.import b/sound/basketball/06.ogg.import
new file mode 100644
index 0000000..08c53ed
--- /dev/null
+++ b/sound/basketball/06.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://b5imyce6iiaip"
+path="res://.godot/imported/06.ogg-a216002a3dba1d7e235692cc594bd29e.oggvorbisstr"
+
+[deps]
+
+source_file="res://sound/basketball/06.ogg"
+dest_files=["res://.godot/imported/06.ogg-a216002a3dba1d7e235692cc594bd29e.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0.0
+bpm=0.0
+beat_count=0
+bar_beats=4
diff --git a/sound/basketball/07.ogg b/sound/basketball/07.ogg
new file mode 100644
index 0000000..dcb2f68
--- /dev/null
+++ b/sound/basketball/07.ogg
Binary files differ
diff --git a/sound/basketball/07.ogg.import b/sound/basketball/07.ogg.import
new file mode 100644
index 0000000..58d59c5
--- /dev/null
+++ b/sound/basketball/07.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://bbeej3kxjjldk"
+path="res://.godot/imported/07.ogg-4460defd51a04fcb4cdb3e0a1b34189b.oggvorbisstr"
+
+[deps]
+
+source_file="res://sound/basketball/07.ogg"
+dest_files=["res://.godot/imported/07.ogg-4460defd51a04fcb4cdb3e0a1b34189b.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0.0
+bpm=0.0
+beat_count=0
+bar_beats=4
diff --git a/sound/basketball/08.ogg b/sound/basketball/08.ogg
new file mode 100644
index 0000000..f21ada4
--- /dev/null
+++ b/sound/basketball/08.ogg
Binary files differ
diff --git a/sound/basketball/08.ogg.import b/sound/basketball/08.ogg.import
new file mode 100644
index 0000000..13940b7
--- /dev/null
+++ b/sound/basketball/08.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://befjnyodubsty"
+path="res://.godot/imported/08.ogg-43e82a8e97a7c64b8a71650cbe12d4f1.oggvorbisstr"
+
+[deps]
+
+source_file="res://sound/basketball/08.ogg"
+dest_files=["res://.godot/imported/08.ogg-43e82a8e97a7c64b8a71650cbe12d4f1.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0.0
+bpm=0.0
+beat_count=0
+bar_beats=4
diff --git a/sound/basketball/09.ogg b/sound/basketball/09.ogg
new file mode 100644
index 0000000..07df49a
--- /dev/null
+++ b/sound/basketball/09.ogg
Binary files differ
diff --git a/sound/basketball/09.ogg.import b/sound/basketball/09.ogg.import
new file mode 100644
index 0000000..38bafbc
--- /dev/null
+++ b/sound/basketball/09.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://cjp5lygo73oyc"
+path="res://.godot/imported/09.ogg-0cb0689241dd2b3500c84e4a3d503ee9.oggvorbisstr"
+
+[deps]
+
+source_file="res://sound/basketball/09.ogg"
+dest_files=["res://.godot/imported/09.ogg-0cb0689241dd2b3500c84e4a3d503ee9.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0.0
+bpm=0.0
+beat_count=0
+bar_beats=4