BGM 재생하기

Cavas 프리팸을 편집모드로 연후 인스펙트뷰의 Audio source 컴포넌트를 추가합니다.

Audio Source 폴더의 AudioClip에 프로젝트 뷰의 BGM_game_00을 드래그 앤 드롭합니다. 이때 Play On Awake와  Loop를 체크합니다.  이제 게임을 시작함과 동시에 BGM_game_00이 반복해서 재생됩니다.

Sounds.zip
2.45MB

 

스크립트로 사운드 재생및 정지시키기

게임을 클리어 했을때와 게임 오버일때 game_BGM_00을 멈추고 다른 사운드를 플레이합니다.

GameManager스크립트에 해당기능을 추가합니다.

 

변수

게임오버 클리어용 오디오클립 참조 변수를 마련합니다.

// +++ 사운드 재생 추가 +++
public AudioClip meGameOver;        // 게임 오버
public AudioClip meGameClear;       // 게임 클리어

Update()

오디오 컨트롤을 위해서 Audiosource컴포넌트를 이용합니다.

AudioSource soundPlayer = GetComponent<AudioSource>();


정지를 위해서 Stop(), 한번 플레이를 위해서 PlayOneShot()메서드를 이용합니다.

soundPlayer.Stop(); 
soundPlayer.PlayOneShot(meGameClear);

Update()변경부분

 void Update()
    {
        if (PlayerController.gameState == "gameclear")
        {
            // 게임 클리어
            ~중략

             // +++ 사운드 재생 추가 +++
            // 사운드 재생
            AudioSource soundPlayer = GetComponent<AudioSource>();
            if (soundPlayer != null)
            {
                // BGM 정지
                soundPlayer.Stop(); soundPlayer.PlayOneShot(meGameClear);
            }
            // +++ 플레어이 조작 +++
            inputUI.SetActive(false);   // 조작 UI 숨기기
        }
         else if (PlayerController.gameState == "gameover")
        {
            // 게임 오버
           ~중략
            // +++ 사운드 재생 추가 +++
            // 사운드 재생
            AudioSource soundPlayer = GetComponent<AudioSource>();
            if (soundPlayer != null)
            {
                // BGM 정지
                soundPlayer.Stop();
                soundPlayer.PlayOneShot(meGameOver);
            }
            // +++ 플레어이 조작 +++
            inputUI.SetActive(false);   // 조작 UI 숨기기
        }

GameManager.cs
0.01MB

스크립트를 캔버스 프리팹에 어태치하고 오디오 클립2개를 연결해줍니다.

 

+ Recent posts