장면을 전환해도 배경 음악을 계속 재생하는 방법
그러나 Scene에서 Scene으로 천이하는 경우와 BGM의 게임 오브젝트가 사라져 버리기 때문에, 이 방법에서는 BGM을 계속해서 재생되지 않습니다.
이 문제를 해결하려면 배경 음악 게임 객체가 장면으로 전환해도 사라지지 않도록해야합니다.
그래서 Object 클래스 (MonoBehaviour의 기본 클래스)의 DontDestroyOnLoad 함수로 실현할 수 있습니다.
배경 음악에 대한 객체 만들기
배경 음악을위한 객체를 만들기 위해 먼저 빈 게임 객체를 만듭니다. 오브젝트명은 「MainSoundObject」로 해 둡니다.
음악 파일을 배경 음악에 객체에 추가
음악 파일을 배경 음악 객체에 추가합니다.
Asset에서 BGM으로 하고 싶은 WAV 파일을,
MainSoundObject로 드래그하여 추가합니다.
스크립트 추가
MainSoundObject에 스크립트를 추가합니다.
Script명은 「MainSoundScript」로 언어는 C#로 합니다.
BGM용 Script 작성
BGM용 Script에 DontDestroyOnLoad 함수를 추가하여 Scene이 전환해도 객체가 사라지지 않도록 합니다.
using UnityEngine;
using System.Collections;
public class MainSoundScript : MonoBehaviour {
public bool DontDestroyEnabled = true;
// Use this for initialization
void Start () {
if (DontDestroyEnabled) {
// Sceneを遷移してもオブジェクトが消えないようにする
DontDestroyOnLoad (this);
}
}
// Update is called once per frame
void Update () {
}
}
전환 처리 작성
트랜지션 후에도 BGM이 울리는 것을 확인하기 위해 키를 누르면 Scene을 트랜지션하는 프로세스가 추가됩니다.
여기에서는 「A」를 누르면 천이하도록 합니다.
if ( Input.GetKeyDown(KeyCode.A) == true ) {
Debug.Log("Now scene is " + Application.loadedLevelName);
// Aキーを押すとシーンが遷移する
Application.LoadLevel("Scene2");
}
마지막으로
Scene을 이동해도 BGM이 울리는 것을 확인할 수 있었습니다.
참고문헌
Unity에서 시작하는 2D 게임 만들기 철저 가이드 스마트폰에서도 즐길 수 있는 본격 게임 개발에 도전 Chapter13
Unity - Scripting API: Object.DontDestroyOnLoad
Reference
이 문제에 관하여(장면을 전환해도 배경 음악을 계속 재생하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hiroyuki7/items/b11496a3b72e89affdd0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)