Input.GetKeyDown (KeyCode.E) не работает - PullRequest
0 голосов
/ 19 января 2020

Я недавно делал систему инвентаризации, но мне не удалось заставить UI отображаться с Input.GetKeyDown, как я хотел. Вот мой код:

using UnityEngine;

public class Inventory : MonoBehaviour
{
    public GameObject invUI;
    public GameObject soulFragmentPanel;

    private void Update()
    {
        if(Input.GetKeyDown(KeyCode.E))
        {
            invUI.SetActive(true);
            soulFragmentPanel.SetActive(false);
        }

        if (Input.GetKeyUp(KeyCode.E))
        {
            invUI.SetActive(false);
            soulFragmentPanel.SetActive(true);
        }

        if (invUI.activeSelf)
        {
            soulFragmentPanel.SetActive(false);
        }
    }
}

1 Ответ

2 голосов
/ 21 января 2020

Можете ли вы проверить в единстве? Вы отключаете тот объект, который содержит сценарий Inventory .

, вам нужно установить invUI и soulFragmentPanel на одном холсте и взять Inventory скрипт на этом холсте.

, чтобы ваш код работал правильно.

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