게임에 사용할 오디오 클립들을 미리 선언한 후, 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 |