
5-4. 소리/배경음악 넣기 파트입니다.
문제점1.
첨부드린 화면처럼 start scene의 SoundManager 스크립트에서 게임 시작화면~게임 플레이까지 재생되는 bgm을 넣는 과정에서
Audio.Play(Clip); 코드 작성 중
CS1503 1 인수: 'UnityEngine.AudioClip'에서 'ulong'(으)로 변환할 수 없습니다. 라는 경고문과 함께 Play(Clip)의 사용이 되지 않고 있습니다.
특이하게도 음원의 재생방식을 PlayOneShot으로 변경하면 clip의 입력이 가능합니다.
둘 사이에 어떤 차이가 있는것인지, 왜 play에서만 clip의 작성이 잘 되지 않는 것인지 모르겠습니다.
#강의에서는 AudioSource 자료형의 변수 AudioSource로 정의했으나 저는 둘 사이의 구분을 위해 변수명을 Audio로 바꿨습니다.
추가질문1.
PlayOneShot은 음원이 겹치지 않고 재생되도록 할 때에 사용된다는 설명은 있으나 play가 어떤 때에 사용되는지 설명이 없습니다.
play의 사용례에 대해 알려주시면 감사하겠습니다.
추가질문2.
왜 bgm 관련 코드 작성시에만 Audio.clip = this.Clip; 이라는 코드를 부가적으로 작성했는지 모르겠습니다.
클릭 시 음원과 매치 시 음원 설정 시에는 바로 오디오소스로 직행해서 clip을 넣고 재생할 수 있었는데
예시) 카드 클릭 시 효과음 코드
void Start()
{
Audio = GetComponent<AudioSource>(); --->여기
}
public void OpenCard()
{
if (GameManager.instance.SecondCard != null)return;
Anim.SetBool("IsOpen", true);
Front.SetActive(true);
Back.SetActive(false);
Audio.PlayOneShot(Clip); --->여기
------------------------------------------------------------
의문) bgm 코드
public AudioSource Audio;
public AudioClip Clip;
// Start is called before the first frame update
void Start()
{
Audio = GetComponent<AudioSource>();
Audio.clip = this.Clip; --->왜 필요한 것인지
Audio.PlayOneShot(Clip);
}
왜 여기서만 오디오매니저(this)에 첨부한 clip을 오디오소스로 넘기고 그 후에 재생하는 절차를 거쳐야 하는지,
필요한 절차라서 넣으셨겠지만 그 이유를 모르겠습니다.

작성한 코드 및 에러 메세지
