오디오
Pyxen은 두 종류의 오디오를 지원합니다: 짧은 효과를 위한 사운드와 긴 트랙을 위한 음악. 둘 다 컴포넌트로 엔티티에 첨부됩니다.
사운드
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 = 오른쪽) |
사운드는 프로젝트 에셋의 오디오 파일에서 로드됩니다.
사운드 뱅크
사운드 작업 공간의 사운드 뱅크에는 프로젝트의 효과음이 들어 있습니다. ▶로 그 자리에서 재생하고, 목록 아래 줄은 선택한 사운드를 재생하는 코드입니다. 위쪽의 버튼 세 개로 사운드를 추가합니다:
- 효과음 만들기(마술봉)는 새 효과음을 만들어 재생합니다. 뱅크 옆 SFX 패널에서 다듬으세요.
- 사운드 녹음…(마이크)은 최대 10초까지 녹음합니다. 마이크가 없는 기기에서는 흐리게 표시됩니다.
- 사운드 가져오기…(트레이로 들어가는 화살표)는 사운드 파일을 추가합니다.
버튼 위에 포인터를 올려 두면 이름이 보이고, iPad에서는 길게 누르면 됩니다. 패널이 세 개를 담기에 너무 좁으면 + 사운드 메뉴 하나로 모입니다. 빈 뱅크에서는 같은 세 가지가 글로 표시됩니다.
좁은 iPad 창에서는 SFX 패널의 사운드가 재생과 함께 위에 남고, 그 조절 항목은 트레이의 도구가 됩니다: 프리셋, 도형, 음높이, 효과.
뱅크 막대의 코드에서 사용은 그 사운드를 가리키는 스크립트 줄을 나열합니다. 줄을 고르면 그곳으로 이동합니다. 코드에서 사운드 이름(Sound("sfx/coin") 등)을 Cmd+클릭하면 그 사운드가 골라진 채로 뱅크가 열립니다.
음악
Music은 Sound와 비슷하지만 긴 트랙을 위해 설계되었습니다. 음악은 메모리에 전체를 로드하지 않고 스트리밍됩니다:
world.spawn(music=Music("theme", loop=True))
Music은 같은 속성을 지원합니다: loop, volume, pan.
트랙은 지금 어디쯤인지를 게임에 알려 줄 수도 있습니다. 트래커 모듈은 파트와 박자를 제공하므로 게임이 파트 하나를 음소거하거나 매 박자마다 펄스를 줄 수 있습니다. channels, beat, bar, tempo는 Music 레퍼런스를 참고하세요.
컴포넌트로서의 오디오
오디오가 엔티티에 첨부되므로, 다른 모든 것과 같은 방식으로 관리합니다:
# 배경 음악 시작
bgm = world.spawn(name="bgm", music=Music("overworld", loop=True))
# 나중에 정지
world.destroy(bgm)
이는 ECS 모델에 자연스럽게 맞습니다 — 오디오는 엔티티의 또 다른 컴포넌트일 뿐이며, 프레임 인스펙터에서 다른 것처럼 볼 수 있습니다.
사운드 녹음하기
마이크가 있는 Mac이나 iPad에서 사운드 뱅크의 사운드 녹음을 열면 최대 10초의 테이크를 녹음할 수 있습니다. 둥근 버튼이나 스페이스로 시작하고, 다시 누르면 멈춥니다.
멈추면 테이크 전체가 그려지고, 길이 옆의 재생이 재생 헤드와 함께 들려줍니다. 스페이스로도 재생하고 멈출 수 있습니다. 뱅크에 추가는 들은 테이크를 새 사운드로 추가합니다. 둥근 버튼은 묻지 않고 이 테이크 대신 새 테이크를 녹음하며, 스페이스는 그렇게 하지 않습니다.
지원 형식
- 사운드: WAV
- 음악: OGG Vorbis, MIDI, 트래커 모듈(MOD, XM, IT, S3M)
**파일 › 이미지 또는 사운드 가져오기…**로 프로젝트에 오디오 파일을 추가하세요.