커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
오디오클립의 재생방식 중 play의 사용이 되지 않습니다.
undefined주차
북마크
박*진
댓글
6
추천
0
조회수
8
조회수
8
답변 완료




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을 오디오소스로 넘기고 그 후에 재생하는 절차를 거쳐야 하는지,

필요한 절차라서 넣으셨겠지만 그 이유를 모르겠습니다.




작성한 코드 및 에러 메세지




취소
 공유
취소
댓글 0
댓글 알림
나의얼굴