Перемещение объекта по нажатию кнопки - PullRequest
0 голосов
/ 01 февраля 2019

Я пытаюсь получить куб, который перемещается на 100px в направлении его нажатия.Но если клавиша удерживается нажатой, она все еще перемещается только один раз, пока она не будет отпущена и снова нажата.

         if (Keyboard.GetState().IsKeyDown(Keys.Right))
        {
            mx += 100;

        }

1 Ответ

0 голосов
/ 01 февраля 2019

Вы можете использовать флаг для достижения этого.

Определить где-нибудь bool flag (я не знаю, можете ли вы использовать локальную переменную и следует ли использовать поле, это зависит от того, какваш основной цикл выглядит так), а затем:

if (Keyboard.GetState().IsKeyDown(Keys.Right))
{
    if(!flag)
    {
        mx += 100;
        flag = true; // set when changing value
    }
}
else
    flag = false; // reset when button is not down

Это увеличит mx один раз.Чтобы увеличить его снова, нужно отпустить кнопку.

...