При использовании механизма единства я получаю ошибку ArgumentException: кнопка ввода w не настроена. Для изменения настроек ввода используйте: Правка -> Настройки -> Ввод - PullRequest
0 голосов
/ 24 апреля 2020

Да, так что я совершенно новичок в единстве и почти ничего не знаю о том, что я делаю, что, вероятно, способствует этой ошибке.

В любом случае, я действительно не знаю, что попробовать. w определяется как альтернатива. Так что на самом деле ИДК, почему это не так. Если бы кто-нибудь мог дать мне предложение, которое было бы замечательно.

Вот мой код:

    if(Input.GetButtonDown("w")){
        transformY += 1;
    }
    if(Input.GetButtonDown("s")){
        transformY += -1;
    }

    if(Input.GetButtonDown("a")){
        transformX += 1;
    }
    if(Input.GetButtonDown("d")){
        transformX += -1;
    }

    transform.position = new Vector2(transformX, transformY);

Ответы [ 2 ]

1 голос
/ 24 апреля 2020

Это означает, что кнопка не настроена.

Чтобы отредактировать, настроить или удалить кнопки и их названия: 1. Go, чтобы Редактировать> Настройки проекта> Ввод, чтобы вызвать Менеджер ввода. 2. Разверните Ось, нажав стрелку рядом с ней. Это показывает список текущих кнопок, которые у вас есть. Вы можете использовать один из них в качестве параметра "buttonName". 3. Раскройте один из элементов в списке, чтобы получить доступ к таким аспектам, как имя кнопки и движение клавиши, джойстик или движение мыши, которые вызывают ее, и изменить их.

Источник (я рекомендую вам прочитать статью ): https://docs.unity3d.com/ScriptReference/Input.GetButtonDown.html

Для получения дополнительной информации для менеджера ввода единства: https://docs.unity3d.com/Manual/class-InputManager.html

0 голосов
/ 24 апреля 2020

В большинстве случаев и, в частности, если у вас есть только клавиши клавиатуры, вместо этого вы можете просто GetKeyDown с KeyCode, как

if(Input.GetKeyDown(KeyCode.W))
{
    transformY += 1;
}
if(Input.GetKeyDown(KeyCode.S))
{
    transformY += -1;
}

if(Input.GetKeyDown(KeyCode.A))
{
    transformX += 1;
}
if(Input.GetKeyDown(KeyCode.D))
{
    transformX += -1;
}

transform.position = new Vector2(transformX, transformY);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...