オーディオ
Pyxenは2種類のオーディオに対応しています:短いエフェクト用のサウンドと長いトラック用のミュージック。どちらもコンポーネントとしてエンティティにアタッチされます。
サウンド
Soundは短いオーディオクリップ — ジャンプ、ヒット、コインの取得など。Soundコンポーネントを持つエンティティを生成してサウンドを再生します:
world.spawn(sound=Sound("jump"))
サウンドは即座に再生されます。再生プロパティを制御できます:
world.spawn(sound=Sound("laser", loop=True, volume=0.5, pan=-0.5))
| プロパティ | 意味 |
|---|---|
loop | サウンドを繰り返すかどうか |
volume | 音量(0.0 = 無音、1.0 = 最大) |
pan | ステレオ位置(-1.0 = 左、0.0 = 中央、1.0 = 右) |
サウンドはプロジェクトアセットのオーディオファイルから読み込まれます。
サウンドバンク
サウンドワークスペースのサウンドバンクには、プロジェクトの効果音が入っています。▶ でその場で再生でき、リストの下の行は選んだサウンドを再生するコードです。上部の3つのボタンで追加します:
- 効果音を作る(魔法の杖)は新しい効果音を作って再生します。バンクの隣の SFX パネルで形を整えます。
- サウンドを録音…(マイク)は最長10秒まで録音します。マイクのないデバイスでは淡色表示になります。
- サウンドをインポート…(トレイに入る矢印)はサウンドファイルを追加します。
ボタンにポインタを置くと名前が表示されます。iPad では長押しします。パネルが3つを並べるには狭すぎるときは、1つの + サウンド メニューにまとまります。空のバンクでは、同じ3つが言葉で示されます。
幅の狭い iPad のウインドウでは、SFX ペインのサウンドは再生とともに上に残り、その調整はトレイのツールになります:プリセット、シェイプ、ピッチ、エフェクト。
バンクのバーにあるコードで使用は、そのサウンドを指すスクリプトの行を一覧にします。行を選ぶとそこへ移動します。コードでサウンド名(Sound("sfx/coin")など)をCmd+クリックすると、そのサウンドを選んだ状態でバンクが開きます。
ミュージック
MusicはSoundと同様に動作しますが、長いトラック向けに設計されています。Musicは完全にメモリに読み込むのではなく、ストリーミング再生されます:
world.spawn(music=Music("theme", loop=True))
Musicはloop、volume、panと同じプロパティに対応しています。
トラックは、いま曲のどこにいるかをゲームに伝えることもできます。トラッカーモジュールはパートと拍を公開するため、ゲームは特定のパートをミュートしたり、拍ごとにパルスさせたりできます。channels、beat、bar、tempo については Music リファレンスを参照してください。
コンポーネントとしてのオーディオ
オーディオはエンティティにアタッチされるため、他のすべてと同じ方法で管理します:
# BGMを開始
bgm = world.spawn(name="bgm", music=Music("overworld", loop=True))
# 後で停止
world.destroy(bgm)
これはECSモデルに自然に適合します — オーディオはエンティティ上の単なるもう1つのコンポーネントであり、フレームインスペクタで他のすべてと同様に確認できます。
サウンドを録音する
マイクのある Mac や iPad では、サウンドバンクでサウンドを録音を開くと、最長 10 秒のテイクを録音できます。丸いボタンかスペースで開始し、もう一度押すと停止します。
停止するとテイク全体が描かれ、長さの横の再生で再生ヘッドとともに再生されます。スペースでも再生と停止ができます。バンクに追加で、聴いたテイクが新しいサウンドとして追加されます。丸いボタンを押すと、確認なしにこのテイクの代わりに新しいテイクを録音します。スペースでは上書きされません。
サポートフォーマット
- サウンド:WAV
- ミュージック:OGG Vorbis、MIDI、トラッカーモジュール(MOD、XM、IT、S3M)
オーディオファイルは**ファイル › 画像やサウンドを読み込む…**でプロジェクトに追加します。