반응형
Notice
Recent Posts
Recent Comments
Link
안 쓰던 블로그
unity 씬이 바뀌어도 배경음악 반복 재생/정지/일시정지 본문
반응형
1. 빈 게임오브젝트에 AudioSource를 붙이고 호출되었을 때 재생/loop설정
2. 스크립트에서 위의 게임오브젝트를 DontDestroyOnLoad 지정
나는 첫 화면->스테이지 화면으로 씬 바꿔주는 스크립트에다가 해서
씬이 처음 넘어갈 때부터 적용되게 했다(아래 코드에선 생략함)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class StartMusic : MonoBehaviour
{
GameObject BackgroundMusic;
AudioSource backmusic;
void Awake()
{
BackgroundMusic = GameObject.Find("BackgroundMusic");
backmusic = BackgroundMusic.GetComponent<AudioSource>(); //배경음악 저장해둠
if (backmusic.isPlaying) return; //배경음악이 재생되고 있다면 패스
else
{
backmusic.Play();
DontDestroyOnLoad(BackgroundMusic); //배경음악 계속 재생하게(이후 버튼매니저에서 조작)
}
}
}
3. 배경음악 멈추기/일시 정지
버튼 하나 만들어서 키고 끄게 만들었다
DontDestroyOnLoad되어 있는 BackgroundMusic 오브젝트를 가져와서, 붙어있는 AudioSource를 떼내고
AudioSource를 가지고 입맛대로 하면 된다
backmusic.isPlaying : 음악이 지금 재생되고 있으면 참, 아니면 거짓
backmusic.Pause() : 음악 일시 정지
backmusic.Stop() : 음악 정지
backmusic.Play() : 음악 재생
public void BackGroundMusicOffButton() //배경음악 키고 끄는 버튼
{
BackgroundMusic = GameObject.Find("BackgroundMusic");
backmusic = BackgroundMusic.GetComponent<AudioSource>(); //배경음악 저장해둠
if (backmusic.isPlaying) backmusic.Pause();
else backmusic.Play();
}
참고
https://answers.unity.com/questions/1260393/make-music-continue-playing-through-scenes.html
반응형
'유니티 > 개발' 카테고리의 다른 글
유니티 출시 오류-이 출시 버전은 Google Play 64비트 요구 사항을 준수하지 않습니다 해결방법 (0) | 2020.03.02 |
---|---|
unity 스테이지 Lock 구현하기 (0) | 2020.03.02 |
unity 안드로이드 빌드 후 csv파일 못 불러오는 에러 해결 방법( StreamReader, Application.dataPath 에러) (2) | 2020.02.29 |
unity 안드로이드 빌드 후에 에러 로그 보는 방법(adb사용) (0) | 2020.02.29 |
C# Replace 쓸 때 은근히 자주 하는 실수 (0) | 2020.02.28 |
Comments