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

ParameterTypBeschreibung
filenamestrName 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:

EigenschaftTypL/SBeschreibung
loopboolL/SSchleife aktivieren
volumefloatL/SLautstärke (begrenzt >= 0.0)
panfloatL/SStereo-Panning (-1.0 bis 1.0)
timefloatLAktuelle Wiedergabeposition (Sekunden)
durationfloatLGesamtlänge (Sekunden)
finishedboolLTrue 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.