У меня есть две кнопки, и у каждой кнопки есть объект Text game, который является дочерним для него.Когда кнопка нажата, а затем нажата клавиша, я хочу обновить текст, отображаемый игровым объектом «Текст», который является дочерним по отношению к нажатой кнопке.Вот что я попробовал:
void OnGUI()
{
Event currentEvent = Event.current;
if (currentEvent.isKey)
{
if (currentEvent.keyCode.ToString() != "None")
{
keyboardEvent = currentEvent;
key = keyboardEvent.keyCode.ToString();
}
}
}
public void changeFirstKey()
{
if (keyboardEvent.isKey)
{
firstKeyText.text = key;
}
}
public void changeSecondKey()
{
if (keyboardEvent.isKey)
{
secondKeyText.text = key;
}
}
Первая кнопка называется firstKey
, а вторая - secondKey
.Я убедился, что при нажатии firstKey
он вызывает changeFirstKey
и наоборот для secondKey
.Однако показанный текст не меняется.Он выдает ошибку в консоли каждый раз, когда я пытаюсь нажать на одну из кнопок, и проблема в том, что keyboardEvent
не установлен для экземпляра объекта.Я убедился, что keyboardEvent
является глобальной переменной, поэтому я мог получить к ней доступ за пределами OnGUI
, но все равно получаю эту ошибку.Что я делаю не так?