오디오

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 = 오른쪽)

사운드는 프로젝트 에셋의 오디오 파일에서 로드됩니다.

사운드 뱅크

사운드 작업 공간의 사운드 뱅크에는 프로젝트의 효과음이 들어 있습니다. ▶로 그 자리에서 재생하고, 목록 아래 줄은 선택한 사운드를 재생하는 코드입니다. 위쪽의 버튼 세 개로 사운드를 추가합니다:

버튼 위에 포인터를 올려 두면 이름이 보이고, 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초의 테이크를 녹음할 수 있습니다. 둥근 버튼이나 스페이스로 시작하고, 다시 누르면 멈춥니다.

멈추면 테이크 전체가 그려지고, 길이 옆의 재생이 재생 헤드와 함께 들려줍니다. 스페이스로도 재생하고 멈출 수 있습니다. 뱅크에 추가는 들은 테이크를 새 사운드로 추가합니다. 둥근 버튼은 묻지 않고 이 테이크 대신 새 테이크를 녹음하며, 스페이스는 그렇게 하지 않습니다.

지원 형식

**파일 › 이미지 또는 사운드 가져오기…**로 프로젝트에 오디오 파일을 추가하세요.

전체 API는 Sound와 Music을 참조하세요.