본문 바로가기
GameMaker강좌[GM8]/슈팅게임강좌

[게임메이커강좌-슈팅]슈팅게임 만들기-8-사운드 및 BGM의 삽입

by 타락카얀 2013. 4. 11.
728x90






이번엔 사운드 및 BGM을 삽입하는 방법에 대해 알아봅시다.
게임메이커에서 지원되는 사운드 파일은 wav, mid파일 2가지입니다.
두파일 모두 배경음과 사운드로 사용할 수 있습니다.



참고: 게임메이커게임메이커:스튜디오(이하 겜스)는 지원되는 것이 약간 다릅니다.
겜스는 무압축 wavmp3를 지원하는데, 겜스에서 사운드를 사용하려면
Global Game Settings->General Use New Audio Engine를 체크해야합니다.



(▲사운드 설정)


Normal sound는 기본적인 효과음을 재생할 때 쓰입니다.

Background music은 말그대로 배경음악으로 사용시에 설정하게 됩니다.
이 배경음악으로 설정하면 재생시 이전에 재생중인 BGM은 정지하고, 그 다음에 재생합니다.

그리고 Effects는 사운드에 여러가지 효과를 줄 수도 있습니다.
이곳에서 설정된 사운드는 게임에 바로 적용됩니다.



◈BGM의 추가



먼저 사운드 폴더에 BGM(배경음악)을 추가해봅시다.
설정에서 Background music으로 설정합니다.
그리고 이것을 스테이지에서 재생할 오브젝트 하나를 선택합니다.
BGM은 게임 시작시에 재생하는 것이 좋겠지요.



(▲사운드를 삽입)


Main1->Sounds->Play Sound액션을 삽입합니다.


    sound : snd_BGM
    loop : true  //사운드를 계속 반복할지를 지정합니다.
    한번만 재생하려면 false를 선택하면 됩니다.


여러개의 룸사이를 왔다갔다하다보면 사운드가 겹치는 상황이 발생할 수도 있습니다.
이를 방지하기 위해 이전의 사운드를 정지하고 새로운 사운드를 재생해야하지요.



(▲새로운 사운드를 재생하기 전에 이전 것의 사운드가 재생된다면 무조건 정지)


한 두개의 사운드를 정지한다면 Main1->Sounds->Stop Sound액션을 삽입하여
사운드를 정지하면 됩니다.
하지만, 각종 효과음과 일정하지 않은 모든 사운드를 정지하고자 한다면,
해당 기본 액션이 부족하기 때문에, 코드로 사용해야합니다.
Control->Code->Execute Code를 삽입하고,



(▲Execute Code에선 코드로 프로그래밍 할 수 있음)


아래 코드를 사용합니다.


    sound_stop_all();//재생중인 사운드는 모드 정지시킴.


이렇게 하면 새로운 스테이지 시작전에 재생되는 모든 사운드 및 BGM은 정지시킵니다.




◈사운드 효과음의 추가



다음은 기체의 데미지에 효과음을 추가해봅시다.
먼저 리소스폴더에 사운드 효과음들을 추가합니다.

적기체가 폭발했을때 효과음을 재생해봅시다.
폭발오브젝트를 열고 Create이벤트에 사운드를 삽입합니다.
(이전 강좌에선 폭발오브젝트를 중복 사용했기 때문에 데미지용 폭발 오브젝트를 따로 만드는 것이 좋습니다)



(▲사운드를 삽입)


다음은 데미지를 입혔을 때의 사운드도 삽입해보아요.
플레이어의 총알에서 적과의 충돌이벤트에 사운드를 삽입하면 됩니다.



(▲사운드삽입)


이렇게 되면 적과 충돌시 효과음을 재생하게 됩니다.



-------응용예제------

shooter-1945-8.gmk



300x250

댓글