자작 게임도 잘 부탁드려요~

adsense



[cocos2d-x / 플래피위치] 사운드 다루기





SimpleAudioEngine을 사용하면, win32 환경에서 소리가 나오다 끊어진다던가 하는
호환성 문제가 있으니 AudioEngine을 사용하는게 좋습니다.

id와 콜백을 통해 다음 효과음이 나오는 걸 막거나 하면 소리가 묻혀버리는 경우가 있고, 이게 어색하게 느껴질 수 있기 때문에
보통은 현재 연주중인 소리를 멈추고 다음 소리를 놓치지 않고 나오게 하는게 보통입니다.

이번에는 사운드 id 관리와 콜백의 사용 예를 보기 위해 앞서 나오고 있는 효과음을 끊지 않도록 했습니다.


사운드 id를 남겨서 관리하면 해당 사운드의 pause나 resume, 재생 위치 이동, 특정 사운드만 볼륨 조정 등을 할 수 있습니다.
환경 설정 창에서 음악용/효과음용/보이스용 볼륨을 따로 따로 조정하는것도 이것을 이용합니다.


단순히 한 번 내고 잊어버리는 짧은 효과음은 굳이 id를 기록하지 않고 콜백도 받지 않아도 됩니다.
짧은 간격으로 많은 효과음을 일제히 재생하지 않도록, 효과음 연출을 설계할 때 주의하는게 필요합니다.

한 번에 총알을 수십발씩 발사하는 슛뎀업에서 총알 하나 생성할 때마다 효과음을 연주하는게 아니라,
발사가 시작될 때 한 번만 효과음을 연주한다던가 하는 예가 있습니다.


tmi :
코코스 3.xx대의 중간 버전 쯤에서는 AudioEngine::INVALID_AUDIO_ID의 정의에 오타가 있어 AudioEngine::INVAILD_AUDIO_ID 로 된 버전이 있습니다.




덧글

댓글 입력 영역


Books

Geek라이프

기초부터 시작하는 모형 전자공작
박성윤 저

사이토 나오키의 일러스트 첨삭 레슨 Before & After
사이토 나오키 저/박수현 역

MSX&재믹스 퍼펙트 카탈로그
마에다 히로유키 저/조기현 역

핵심강좌! Cocos2d-x
이재환 저
예스24 | 애드온2
일본서적 전문사이트 NEPIC