Как перестать играть бесшовную музыку в моей игре - PullRequest
0 голосов
/ 07 сентября 2018

В моей сцене пользовательского интерфейса главного меню я создал GameObject (music_manager), к которому прикреплен сценарий, который управляет моей музыкой для плавного воспроизведения, даже если я вхожу в следующую сцену (сцена выбора уровня пользователя).

Это код music_manager:

    void Awake () {

        MainMenuSounnd01();     
 }

public void MainMenuSounnd01()
{

    GameObject[] objs = GameObject.FindGameObjectsWithTag("music");
    if (objs.Length > 1)
        Destroy(this.gameObject);
    DontDestroyOnLoad(this.gameObject);
}

Интерфейс выбора уровня состоит из 7 кнопок, каждая из которых загружает различные уровни моей игры через On Click ().

Как я могу заставить музыку останавливаться всякий раз, когда я нажимаю кнопку в сцене выбора уровня и воспроизводлю новую фоновую музыку во вновь загруженной сцене? Вот код функции, прикрепленный к моей кнопке 01, который загружает уровень 1:

    public void Level_1_OnClick()
{
    SceneManager.LoadScene ("myLevel_1")
}

Спасибо: D

1 Ответ

0 голосов
/ 07 сентября 2018

Чтобы остановить музыку, вам нужно получить ссылку на компонент AudioSource, который воспроизводит музыку, и вызвать Stop ().

myGameObject.GetComponent<AudioSource>().Stop();

Чтобы воспроизвести новый клип, установите свойство клипа для новой дорожки и вызовите Play ().

myGameObject.GetComponent<AudioSource>().clip = myAudioClip;
myGameObject.GetComponent<AudioSource>().Play();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...