Анимация играет на входе - PullRequest
0 голосов
/ 01 декабря 2018

У меня есть анимированный стол и ящик, но я сталкиваюсь с дилеммой, как и в названии: моя анимация воспроизводится при старте.Я не понимаю почему, потому что у меня на сцене один и тот же сценарий, и я не сталкивался с проблемой ранее.После первоначальной записи сценарий все еще отлично работает с открытием и закрытием ящика.

Есть мысли?

enter image description here enter image description here enter image description here enter image description here

public class DoorScript: MonoBehaviour
{

public GameObject OpenPanel = null;

private bool _isInsideTrigger = false;

public Animator _animator;

public string OpenText = "Press 'E' to open";

public string CloseText = "Press 'E' to close";

private bool _isOpen = false;

private void Start()
{
    OpenPanel.SetActive(false);
}


void OnTriggerEnter(Collider other)
{
    if (other.tag == "Player")
    {
        _isInsideTrigger = true;
        OpenPanel.SetActive(true);
        UpdatePanelText();
    }
}

private void UpdatePanelText()
{
    Text panelText = OpenPanel.transform.Find("Text").GetComponent<Text>();
    if (panelText != null)
    {
        panelText.text = _isOpen ? CloseText: OpenText;
    }
}

void OnTriggerExit(Collider other)
{
    if (other.tag == "Player")
    {
        _isInsideTrigger = false;
        OpenPanel.SetActive(false);
    }
}

private bool IsOpenPanelActive
{
    get
    {
        return OpenPanel.activeInHierarchy;
    }
}

// Update is called once per frame
void Update()
{
    if (IsOpenPanelActive && _isInsideTrigger)
    {
        if (Input.GetKeyDown(KeyCode.E))
        {
            _isOpen = !_isOpen;

            Invoke("UpdatePanelText", 1.0f);

            _animator.SetBool("open", _isOpen);
        }
    }
}

} // Кредитный канал Jayanam Youtube для сценария

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