pyxen.Sound
Entity에 컴포넌트로 첨부되는 짧은 오디오 클립입니다.
사운드는 메모리에 전체가 로드됩니다 — 점프, 타격, 아이템 획득 같은 짧은 효과에 사용하세요.
오디오 개념은 오디오를 참조하세요.
생성자
Sound(filename)
필수 위치 인수 하나: 프로젝트 내 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)
읽기 전용. 사운드 재생이 완료되면 (loop가 False일 때) True.
형식
사운드 에셋은 WAV 파일이어야 합니다.
일반적인 에러
파일 이름 누락
Sound()
ValueError: Sound must have a file
잘못된 에셋
Sound("nonexistent")
사운드 객체는 생성되지만 재생이 경고 로그와 함께 조용히 실패합니다.