pyxen.Sound
Ein kurzer Audioclip, der einem Entity als Komponente angehängt wird.
Sounds werden vollständig in den Speicher geladen — verwende sie für kurze Effekte wie Sprünge, Treffer und Einsammelgeräusche.
Audio-Konzepte findest du unter Audio.
Konstruktor
Sound(filename)
Ein erforderliches positionelles Argument: der Name eines WAV-Audio-Assets im Projekt.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
filename | str | Name des WAV-Assets |
Beispiel
jump_sound = Sound("jump")
Einen Sound anhängen
Beim Spawn:
sfx = world.spawn(sound=Sound("jump"))
Oder nachträglich:
entity.sound = Sound("jump")
Das Zuweisen eines Sounds startet die Wiedergabe sofort.
Komponenteneigenschaften
Zugriff über entity.sound:
| Eigenschaft | Typ | L/S | Beschreibung |
|---|---|---|---|
loop | bool | L/S | Schleife aktivieren |
volume | float | L/S | Lautstärke (begrenzt >= 0.0) |
pan | float | L/S | Stereo-Panning (-1.0 bis 1.0) |
time | float | L | Aktuelle Wiedergabeposition (Sekunden) |
duration | float | L | Gesamtlänge (Sekunden) |
finished | bool | L | True wenn Wiedergabe abgeschlossen |
loop
entity.sound.loop = True
Wenn aktiviert, startet der Sound nach dem Ende automatisch neu.
volume
entity.sound.volume = 0.5
Werte unter 0.0 werden auf 0.0 begrenzt.
pan
entity.sound.pan = -1.0 # ganz links
entity.sound.pan = 1.0 # ganz rechts
entity.sound.pan = 0.0 # Mitte
Begrenzt auf den Bereich -1.0 bis 1.0.
time
t = entity.sound.time
Nur lesbar. Aktuelle Wiedergabeposition in Sekunden.
duration
d = entity.sound.duration
Nur lesbar. Gesamtlänge des Sounds in Sekunden.
finished
if entity.sound.finished:
world.destroy(entity)
Nur lesbar. True wenn der Sound fertig abgespielt wurde (und loop False ist).
Format
Sound-Assets müssen WAV-Dateien sein.
Häufige Fehler
Fehlender Dateiname
Sound()
ValueError: Sound must have a file
Ungültiges Asset
Sound("nonexistent")
Das Sound-Objekt wird erstellt, aber die Wiedergabe schlägt stillschweigend fehl mit einer protokollierten Warnung.