какую ссылку я должен поставить внутри Button void OnClick () в единстве - PullRequest
0 голосов
/ 11 марта 2020

Когда я начинаю играть, он не может перейти к следующей сцене. Он также выдает много ошибок, одна ошибка повторяется много раз, Coroutine не может быть запущен, потому что игровой объект FadeOut неактивен! Я запутался, потому что rawimage весь черный и должен быть неактивен до включения функции. enter image description here

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class ToLoading : MonoBehaviour
{
    public Button toLoad;
    public RawImage fadeOut;
    public Text loading;

    // Start is called before the first frame update
    void Start()  //need to SetActive(false); ? if I set it false already in unity
    {

    }

    // Update is called once per frame
    void Update()
    {
        ButtonClicked();
    }
    public void ButtonClicked() // 
    {
        fadeOut.gameObject.SetActive(true);
        loading.gameObject.SetActive(true);
        StartCoroutine(ToNextScene());


    }

    //going to do: fade out> 2 secoonds > to next scene
    private IEnumerator ToNextScene()
    {

        yield return new WaitForSeconds(2);
        SceneManager.LoadScene("SceneForMovingAround");

    }
}

Мой вопрос таков: должен ли я поместить этот скрипт ToLoading в затухающий rawimage или создать пустой игровой объект, а затем поместить скрипт в него. Также, как решить проблема - исчезает ошибка. И, наконец, будет ли проблема с кодом части сцены? вся ваша помощь приветствуется, спасибо!

1 Ответ

0 голосов
/ 11 марта 2020

Ваш метод ButtonClicked() выполняется каждый кадр, что вызывает нежелательное поведение, которое вы описываете.

Удалите весь метод Update() с его телом из вашего файла и снова запустите вашу игру.

Добавьте gameObject.SetActive(false); к вашему методу ButtonClicked(), чтобы отключить кнопку при нажатии.

Если вы добавили метод ButtonClicked() к событию OnClick() в инспекторе, как вы видите на вашем скриншоте он должен работать так, как вы ожидаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...