Скрипт не работает после смены сцены или закрытия Unity - PullRequest
0 голосов
/ 27 сентября 2018

У меня проблема, о которой говорит названиеУ меня есть некоторые игровые объекты двери, к которым я прикрепил следующий скрипт, чтобы открыть и закрыть их с помощью raycast:

void Update()
{
    if (Input.GetMouseButtonDown(0))
    {
        RaycastHit hit;
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        if (Physics.Raycast(ray, out hit, 1000))
        {
            if (!EventSystem.current.IsPointerOverGameObject())   
            {
                if (hit.collider.gameObject.tag == "door")
                {                     
                   if (hit.collider.gameObject.GetComponent<Animator>().GetBool("ApritiSesamo") == true)
                    {
                        hit.collider.gameObject.GetComponent<Animator>().SetBool("ApritiSesamo", false);
                    }
                    else if (hit.collider.gameObject.GetComponent<Animator>().GetBool("ApritiSesamo") == false)
                    {
                        hit.collider.gameObject.GetComponent<Animator>().SetBool("ApritiSesamo", true);
                    }
                }
            }
        }
    }
}

У объекта есть тег "дверь", и в аниматоре у меня естьпереход от Entry-->New state(an empty one)--->my door animation.В аниматоре стрелки перехода соответственно должны bool ApritiSesamo стать true для выполнения "анимации при открытой двери" ... и false, чтобы вернуться в пустое состояние.

Проблема заключается в том, чтоэто все работает, пока я не закрою единство или не изменим сцену (и не вернусь в эту сцену, чтобы попробовать еще раз). Также я заметил, что если я скопирую и вставлю эту дверьЕдинство или изменение сцены ecc.

Надеюсь, я все объяснил ясно и надеюсь получить некоторую помощь.Заранее спасибо.

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