small racing game im working on
Diffstat (limited to 'assets/cars/engine.gd')
-rw-r--r--assets/cars/engine.gd22
1 files changed, 15 insertions, 7 deletions
diff --git a/assets/cars/engine.gd b/assets/cars/engine.gd
index 911965e..09d1fe8 100644
--- a/assets/cars/engine.gd
+++ b/assets/cars/engine.gd
@@ -1,16 +1,24 @@
-extends EngineNoise
+extends AudioStreamPlayer3D
+class_name EngineNoise
-@onready var car = get_parent().get_parent();
-@onready var player: AudioStreamPlayer3D = get_parent();
+@onready var strem: EngineStream = stream
+@onready var car = get_parent()
+var volume: float = 1: set = set_v, get = get_v
func _ready() -> void:
set_process(false)
for i in 4:
await RenderingServer.frame_post_draw # buffer underrun causes it to stop, and the cpu is busy when loading the track and rendering and stuff. https://github.com/godotengine/godot/pull/73162
- player.play()
- set_stream(player.get_stream_playback())
+ play()
+ strem.set_stream(get_stream_playback())
set_process(true)
func _process(_d: float):
- set_rpm(car.engine_rpm)
- update()
+ strem.engine_rpm = car.engine_rpm
+ strem.update()
+
+func set_v(v: float) -> void:
+ strem.engine_volume = v
+
+func get_v() -> float:
+ return strem.engine_volume