small racing game im working on
Diffstat (limited to 'assets/cars/engine.gd')
| -rw-r--r-- | assets/cars/engine.gd | 22 |
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 |