• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

강의 마지막 부분의 설명

21.10.08 00:59 작성 조회수 131

0

강의 마지막 부분에서 나오는 설명 말인데요

 

"아래의 코드는 확장이 쉽습니다. 다른 사운드가 있을 경우 하나의 오디오 소스를 가지고 백그라운드 뮤직을 재생하는 것 처럼 공통으로 사용이 가능합니다."

 

말이 생략이 많이 된 것 같아서 구제척으로 여쭤보고 싶어서요

"하나의 오디오 소스를 가지고 공통으로 사용한다"라는게 예를 들어 폭발에 대한 오디오 파일이 여러가지면 audioSource[2] 하나를 가지고 폭발에 대한 오디오 파일 여러가지를 바꿔가면서 재생한다는 건가요? 

답변 1

답변을 작성해보세요.

0

안녕하세요.

"하나의 오디오 소스를 가지고 공통으로 사용한다"라는게 예를 들어 폭발에 대한 오디오 파일이 여러가지면 audioSource[2] 하나를 가지고 폭발에 대한 오디오 파일 여러가지를 바꿔가면서 재생합니다 "

 

이 내용은 말은 강의 중간에 계속 말씀드린 것 같습니다. 

 

그리고 최적화에 대해 말씀드리면요.

audiosource[1].PlayOneShot(sourceClips[(int)id]); 

최적화를 해서 코드를 위처럼 한줄로 만들어놓았으면 나중에 필요에 의해서 (소리가 겹치거나 하는 경우) 소스코드를 추가해야 할때  작업을 새로 해야 합니다. 

한줄 밖에 없기 때문입니다. 

공통적으로 겹치지 않는 사운드들은 하나의 오디오소스로 공통으로 사용하면 됩니다. 그리고 겹치는 사운드에 대해서만 소스코드를 복사해서 붙여넣기 하면 코드를 확장하기 쉽다는 뜻입니다. 

주석으로 처리해놓고 작업해도 된다고 생각할수도 있겠습니다만 미리 두개를 다 만드는 경우는 없죠. 지금은 학습을 하기 때문에 두개를 다 만들어둔 것이니 처음 내용으로 작업을 했다면 아래의 내용은 코딩하지 않았을 것입니다. 

긴코드를 최적화를 하려고 전부 다 지워서 한두줄로 만들면 나중에 변경사항이나 추가사항 그리고 오류가 생겼을때 수정하려면 기존의 코드를 다 새로 작성해야 합니다. 이 상황은 현재 상황에서만 적용되는 경우이고 최적화라는 것이 코드의 길이에만 최적화가 있는 것이 아닙니다.  현재의 경우 코드의 최적화를 해놓으면 메모리의 최적화는 되지 않은 상태가 될것입니다. (이전 질문에서 이건 답변 드렸습니다) 

그리고 속도의 최적화 메모리의 최적화가 있기에 다 따로따로 생각해야 합니다. 

감사합니다.