본문 바로가기

유니티 2D 기본(Platformer Game)

10. 사운드 출력

게임에 사용할 오디오 클립들을 미리 선언한 후, audio 컴포넌트에서 조건에 따라 클립을 바꿔 사용합니다.

오디오 소스는 에셋스토어에서 무료로 가져올 수 있습니다.

    //Components
    AudioSource audioSource;   
   //Audio Clips
   public AudioClip audioJump;
    public AudioClip audioAttack;
    public AudioClip audioDamaged;
    public AudioClip audioItem;
    public AudioClip audioDie;
    public AudioClip audioFinish;
    
    void Awake(){
    	audioSource = GetComponent<AudioSource>();
    }
    
        public void playSound(string action) { //클립의 이름을 받아서 switch문에서 클립 교체
        switch (action) {
            case "Jump":
                audioSource.clip = audioJump; //클립 교체
                break;
            case "Attack":
                audioSource.clip = audioAttack;
                break;
            case "Damaged":
                audioSource.clip = audioDamaged;
                break;
            case "Item":
                audioSource.clip = audioItem;
                break;
            case "Die":
                audioSource.clip = audioDie;
                break;
            case "Finish":
                audioSource.clip = audioFinish;
                break;
        }
        audioSource.Play(); //재생
    }
    
        void Update()
    {
        //Jump
        if (Input.GetButtonDown("Jump") && !anim.GetBool("isJumping")) {
            rigid.AddForce(Vector2.up * jumpPower, ForceMode2D.Impulse);
            anim.SetBool("isJumping", true);
            playSound("Jump"); //원하는 조건에서 함수 호출, 매개변수로 적절한 이름 주기
        }
    }

 

결과

 

'유니티 2D 기본(Platformer Game)' 카테고리의 다른 글

더블점프 구현  (0) 2022.01.17
9. 스테이지 추가 & UI  (0) 2021.12.04
8. 아이템 먹기  (0) 2021.12.03
7. 몬스터 밟아서 잡기  (0) 2021.12.03
6. 플레이어 피격 이벤트 구현  (0) 2021.11.30