Game Maker Code делает наоборот?

if keyboard_check('D')
{
    x = x + 4
    sprite_index = spr_playerRight
}

Как только я запускаю игру, спрайт игрока начинает двигаться вправо. Но, как видите, этого не должно происходить... верно?

Когда я на самом деле нажимаю D, выполняется часть (иначе) маленького фрагмента.

Любая идея, почему это происходит? Я немного новичок в этом.

Редактировать: я немного возился, и я поменял код (IF из другого), и я не двигался в начале, но нажатие любой клавиши заставляло меня двигаться.

Другое редактирование: Тот факт, что Else будет применяться каждый раз, когда клавиша D не применяется, заставил меня понять, что (если это действительно работает правильно) else на этом будет мешать попыткам двигаться в других направлениях (нажатие любой кнопки остановит движение)

Другое редактирование: я изменил keyboard_check на keyboard_check (vk_right), и он отлично работает. Я считаю, что это простая проблема, связанная с тем, как я объявил ключ... Как мне правильно объявить ключи?


person user1550744    schedule 25.07.2012    source источник
comment
попробуйте вместо этого if keyboard_check(ord('D'))   -  person Keldon Alleyne    schedule 25.07.2012


Ответы (1)


Согласно документации это должно быть:

if keyboard_check(ord('D'))
person Paul R    schedule 25.07.2012
comment
Спасибо, Пол. Я неправильно прочитал документацию при первом просмотре; Я думаю, я не видел "орд" - person user1550744; 25.07.2012
comment
Пожалуйста, подумайте о том, чтобы принять и / или проголосовать за этот ответ, чтобы Пол получил драгоценные очки репутации за свою помощь, а другие пользователи знали, что этот вопрос решен. - person Medo42; 25.07.2012