pyxen.Sound
Entityにコンポーネントとしてアタッチされる短いオーディオクリップです。
サウンドは完全にメモリに読み込まれます — ジャンプ、ヒット、アイテム取得などの短いエフェクトに使用してください。
オーディオのコンセプトについてはオーディオを参照してください。
コンストラクタ
Sound(filename)
必須の位置引数が1つ:プロジェクト内のWAVオーディオアセットの名前。
パラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
filename | str | WAVアセットの名前 |
例
jump_sound = Sound("jump")
Soundのアタッチ
生成時:
sfx = world.spawn(sound=Sound("jump"))
または後から:
entity.sound = Sound("jump")
サウンドを割り当てると即座に再生が開始されます。
コンポーネントのプロパティ
entity.soundでアクセス:
| プロパティ | 型 | R/W | 説明 |
|---|---|---|---|
loop | bool | R/W | ループを有効にする |
volume | float | R/W | ゲイン(0.0以上にクランプ) |
pan | float | R/W | ステレオパンニング(-1.0〜1.0) |
time | float | R | 現在の再生位置(秒) |
duration | float | R | 全体の長さ(秒) |
finished | bool | R | 再生が完了するとTrue |
loop
entity.sound.loop = True
有効にすると、サウンドは終了後に自動的に再スタートします。
volume
entity.sound.volume = 0.5
0.0未満の値は0.0にクランプされます。
pan
entity.sound.pan = -1.0 # 完全に左
entity.sound.pan = 1.0 # 完全に右
entity.sound.pan = 0.0 # 中央
-1.0から1.0の範囲にクランプされます。
time
t = entity.sound.time
読み取り専用。現在の再生位置(秒)。
duration
d = entity.sound.duration
読み取り専用。サウンドの全体の長さ(秒)。
finished
if entity.sound.finished:
world.destroy(entity)
読み取り専用。サウンドの再生が完了するとTrue(loopがFalseの場合)。
フォーマット
サウンドアセットはWAVファイルでなければなりません。
よくあるエラー
ファイル名の指定なし
Sound()
ValueError: Sound must have a file
無効なアセット
Sound("nonexistent")
サウンドオブジェクトは作成されますが、再生は警告ログとともにサイレントに失敗します。