Как скрыть объект пользовательского интерфейса (Video Player) через раз (Unity)

Я очень новичок в использовании Unity и выживаю после уроков с YouTube. Как только моя игра запускается, видео запускается с помощью Video Player. Я надеюсь сделать видео скрытым после его завершения, чтобы открыть экран моего меню. У меня есть скрипт, который я использовал, чтобы скрыть видео плеер

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class HideVideo : MonoBehaviour
{

public GameObject VideoPlayer;
public void HideVideoPlayer()
{
    VideoPlayer.gameObject.SetActive(false);
}
}

Проблема в том, что самое близкое к тому, что я на самом деле скрыл, - это установив его в событие onclick с помощью кнопки. Как скрыть видеопроигрыватель после завершения воспроизведения? Благодарю.

1 ответ

Почему бы просто не спрятать его, когда он перестает играть, и поместить его в Update?

void Update() {
    if (!(VideoPlayer.isPlaying)) {
        VideoPlayer.gameObject.SetActive(false);
    }
}

Полный скрипт может выглядеть так:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class HideVideo : MonoBehaviour
{
    public GameObject VideoPlayer;
    public bool isPlayerStarted = false;

    void Update() {
        if (isPlayerStarted == false && VideoPlayer.IsPlaying == true) {
            // When the player is started, set this information
            isPlayerStarted = true;
        }
        if (isPlayerStarted == true && VideoPlayer.isPlaying == false ) {
            // Wehen the player stopped playing, hide it
            VideoPlayer.gameObject.SetActive(false);
        }
    }   
}
Другие вопросы по тегам