Audio
Pyxen unterstützt zwei Arten von Audio: Sounds für kurze Effekte und Music für längere Tracks. Beide werden als Komponenten an Entitäten angehängt.
Sounds
Ein Sound ist ein kurzer Audioclip — ein Sprung, ein Treffer, eine Münze aufheben. Du spielst einen Sound ab, indem du eine Entität mit einer Sound-Komponente erzeugst:
world.spawn(sound=Sound("jump"))
Der Sound wird sofort abgespielt. Du kannst Wiedergabeeigenschaften steuern:
world.spawn(sound=Sound("laser", loop=True, volume=0.5, pan=-0.5))
| Eigenschaft | Bedeutung |
|---|---|
loop | Ob der Sound wiederholt wird |
volume | Lautstärke (0.0 = stumm, 1.0 = voll) |
pan | Stereoposition (-1.0 = links, 0.0 = Mitte, 1.0 = rechts) |
Sounds werden aus Audiodateien in deinen Projekt-Assets geladen.
Die Sound-Bank
Die Sound-Bank des Sound-Arbeitsbereichs enthält die Soundeffekte des Projekts: ▶ spielt einen an Ort und Stelle ab, und die Zeile unter der Liste ist der Code, der den gewählten Sound abspielt. Drei Buttons oben fügen einen hinzu:
- Soundeffekt erstellen (der Zauberstab) erstellt einen neuen Soundeffekt und spielt ihn ab; gestalte ihn im SFX-Bereich neben der Bank.
- Sound aufnehmen… (das Mikrofon) nimmt bis zu 10 Sekunden auf. Auf einem Gerät ohne Mikrofon ist er ausgegraut.
- Sounds importieren… (der Pfeil in eine Ablage) fügt Audiodateien hinzu.
Lass den Zeiger auf einem Button ruhen, um seinen Namen zu sehen, oder halte ihn auf dem iPad gedrückt. Ist der Bereich für die drei zu schmal, stehen sie stattdessen in einem Menü + Sound. Eine leere Bank nennt dieselben drei in Worten.
In einem schmalen iPad-Fenster bleibt der Sound des SFX-Bereichs oben, mit Abspielen, und seine Regler sind die Werkzeuge der Ablage: Presets, Form, Tonhöhe und Effekte.
Im Code verwendet in der Leiste der Bank listet die Zeilen deiner Skripte, die ihre Sounds nennen; wähle eine, um dorthin zu gehen. Im Code öffnet ein Cmd+Klick auf den Namen eines Sounds, etwa Sound("sfx/coin"), seine Bank mit diesem Sound gewählt.
Music
Music funktioniert wie Sound, ist aber für längere Tracks gedacht. Music wird gestreamt statt komplett in den Speicher geladen:
world.spawn(music=Music("theme", loop=True))
Music unterstützt dieselben Eigenschaften: loop, volume und pan.
Ein Stück kann Ihrem Spiel auch sagen, wo es sich gerade befindet. Tracker-Module stellen ihre Stimmen und ihren Schlag bereit, sodass ein Spiel eine Stimme stummschalten oder auf jedem Schlag pulsieren kann; siehe die Referenz zu Music für channels, beat, bar und tempo.
Audio als Komponenten
Weil Audio an Entitäten angehängt ist, verwaltest du es auf dieselbe Weise wie alles andere:
# Hintergrundmusik starten
bgm = world.spawn(name="bgm", music=Music("overworld", loop=True))
# später stoppen
world.destroy(bgm)
Das fügt sich natürlich in das ECS-Modell ein — Audio ist einfach eine weitere Komponente auf einer Entität, sichtbar im Frame-Inspektor wie alles andere.
Einen Sound aufnehmen
Auf einem Mac oder iPad mit Mikrofon öffnest du Ton aufnehmen in einer Sound-Bank, um eine Aufnahme von bis zu 10 Sekunden zu machen. Drücke die runde Taste oder die Leertaste, um zu beginnen, und noch einmal, um zu stoppen.
Danach wird die ganze Aufnahme gezeichnet, und Abspielen neben ihrer Länge spielt sie mit einem Abspielkopf ab; auch die Leertaste spielt sie ab und stoppt sie. Zur Bank hinzufügen fügt die gehörte Aufnahme als neuen Sound hinzu. Die runde Taste nimmt ohne Nachfrage eine neue Aufnahme an ihrer Stelle auf; die Leertaste nie.
Unterstützte Formate
- Sounds: WAV
- Music: OGG Vorbis, MIDI und Tracker-Module (MOD, XM, IT, S3M)
Füge Audiodateien mit Datei › Bilder oder Sounds importieren… zu deinem Projekt hinzu.