AudioStreamPlayer
w Godot 4 to węzeł służący do odtwarzania dźwięków w 2D. W przeciwieństwie do AudioStreamPlayer3D
, który odtwarza dźwięki w przestrzeni 3D, AudioStreamPlayer
odtwarza dźwięki niezależnie od ich położenia w przestrzeni, co oznacza, że są słyszane jednakowo w całym świecie gry. Jest idealny do odtwarzania muzyki w tle, efektów dźwiękowych interfejsu użytkownika (UI) lub innych dźwięków, które nie wymagają przestrzennego umiejscowienia.
Podstawowe użycie AudioStreamPlayer
1. Dodanie AudioStreamPlayer
do sceny
- W drzewie scen kliknij „Dodaj węzeł”.
- Wyszukaj
AudioStreamPlayer
i dodaj go do swojej sceny. - W inspektorze, w polu
Stream
, wybierz lub załaduj plik dźwiękowy (np..wav
,.ogg
,.mp3
), który chcesz odtworzyć.
2. Odtwarzanie dźwięku
Gdy dźwięk jest przypisany do właściwości Stream
, możesz go łatwo odtwarzać, zatrzymywać i kontrolować za pomocą skryptu.
Przykład skryptu do odtwarzania dźwięku:
extends AudioStreamPlayer
func _ready():
play() # Rozpoczyna odtwarzanie dźwięku automatycznie, gdy scena się uruchomi
func _on_button_pressed():
if is_playing():
stop() # Zatrzymaj dźwięk, jeśli jest odtwarzany
else:
play() # Odtwórz dźwięk, jeśli jest zatrzymany
play()
: Rozpoczyna odtwarzanie dźwięku.
stop()
: Zatrzymuje odtwarzanie dźwięku.
is_playing()
: Sprawdza, czy dźwięk jest aktualnie odtwarzany.
3. Ustawienia w inspektorze AudioStreamPlayer
Stream
:
- Właściwość, w której przypisujesz plik dźwiękowy do odtworzenia. Możesz go wybrać w inspektorze lub dynamicznie załadować przez skrypt:
$AudioStreamPlayer.stream = load("res://sounds/button_click.ogg")
Volume Db
:
- Ustawia głośność dźwięku w decybelach. Możesz kontrolować poziom głośności i zmieniać go dynamicznie w grze:
$AudioStreamPlayer.volume_db = -10 # Ścisz dźwięk o 10 dB
Pitch Scale
:
- Zmienia wysokość (ton) odtwarzanego dźwięku. Ustawienie wartości na
1.0
oznacza normalne odtwarzanie, wartości mniejsze niż 1.0
obniżają ton, a większe zwiększają ton.
$AudioStreamPlayer.pitch_scale = 1.5 # Podwyższ ton dźwięku
Autoplay
:
- Gdy jest włączone, dźwięk zacznie się odtwarzać automatycznie po załadowaniu sceny. Możesz to zaznaczyć w inspektorze.
Bus
:
- Określa, na którym busie (kanale dźwiękowym) dźwięk ma być odtwarzany. Możesz używać tego do kontrolowania grup dźwięków, takich jak muzyka, efekty dźwiękowe itp.
4. Dynamiczna zmiana dźwięku i efektów
Możesz zmieniać właściwości AudioStreamPlayer
dynamicznie w czasie działania gry, co pozwala na większą kontrolę nad dźwiękami:
Przykład zmiany dźwięku w trakcie gry:
extends AudioStreamPlayer
func _ready():
# Przypisanie pliku dźwiękowego dynamicznie
stream = load("res://sounds/jump.ogg")
play()
# Zmiana właściwości dźwięku
volume_db = -5 # Ściszenie o 5 dB
pitch_scale = 1.2 # Zwiększenie tonu</code></pre>
5. Podstawowe funkcje AudioStreamPlayer
play(from_position: float = 0.0)
:
- Odtwarza dźwięk od określonej pozycji czasowej (domyślnie od początku).
$AudioStreamPlayer.play(2.0) # Rozpocznij odtwarzanie od 2 sekundy
stop()
:
- Zatrzymuje odtwarzanie dźwięku.
is_playing() -> bool
:
- Sprawdza, czy dźwięk jest aktualnie odtwarzany. Może być użyteczne, gdy chcesz zarządzać wieloma dźwiękami.
stream_position
:
- Umożliwia uzyskanie bieżącej pozycji odtwarzanego dźwięku lub ustawienie jej.
var current_position = $AudioStreamPlayer.stream_position
bus
:
- Pozwala określić, na którym busie dźwiękowym ma być odtwarzany dźwięk (np.
Master
, Music
, SFX
). Dzięki temu możesz kontrolować głośność i efekty dźwiękowe całych grup dźwięków.
Przykłady zastosowania AudioStreamPlayer
w grze
- Muzyka w tle:
AudioStreamPlayer
jest idealny do odtwarzania muzyki w tle, ponieważ odtwarza dźwięk niezależnie od lokalizacji w przestrzeni. Możesz ustawić odtwarzanie muzyki, która będzie trwać przez cały czas gry.
- Efekty dźwiękowe UI:
- Możesz używać
AudioStreamPlayer
do odtwarzania krótkich efektów dźwiękowych, takich jak kliknięcia przycisków, przejścia menu, otwieranie i zamykanie okien.
- Efekty dźwiękowe zdarzeń w grze:
- Odtwarzaj efekty dźwiękowe dla konkretnych zdarzeń w grze, takich jak zdobycie przedmiotu, wygrana, porażka, itp. Możesz to zrobić, dynamicznie zmieniając właściwość
Stream
lub wywołując play()
w odpowiedzi na zdarzenie.
Podsumowanie:
AudioStreamPlayer
to potężny i wszechstronny węzeł w Godot 4 do odtwarzania dźwięków 2D. Pozwala łatwo zarządzać muzyką, efektami dźwiękowymi interfejsu użytkownika i innymi dźwiękami niezależnymi od przestrzeni. Dzięki funkcjom takim jak Volume Db
, Pitch Scale
, Bus
, możesz precyzyjnie dostosować sposób odtwarzania dźwięków w grze, tworząc odpowiednią atmosferę i interakcje dźwiękowe.
Published using WordPress Blurt Publisher from https://godot.com.pl.