![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2011
Адрес: Киев, Украина
Сообщений: 3
|
Делаю передвижение для игрушки с видом сверху, возникла проблема с одновременным нажатием нескольких кнопок. Для передвижения я использую для этого считыванием нажатой кнопки и прогоном ее через switch, но проблема в том, что у кнопок установился определенный приоритет, зависимый от того, где именно в свитче находится соответственный case, и, к примеру, после нажатия "вправо" не читается другая клавиша, "влево" перебивается только кнопкой "вправо", "вверх" перебивается кнопками "влево" и "вправо" и т.д.. Вопрос - что же использовать вместо switch, чтобы порядок кода для клавиш не влиял на то, как они взаимодействуют?
|
|
|||||
|
Модрон-ветеринар
|
Операторы if
__________________
Идите первым! |
|
|||||
|
Регистрация: Sep 2011
Адрес: Киев, Украина
Сообщений: 3
|
Ооо, тогда тем более создается приоритет, ведь сначала он проверяет, нажато ли "вправо", дальше "влево" и т.д., то есть, в N-ом фрейме я нажал "вниз", а в N+1 - "вправо", он еще не забыл, что я нажал "вниз" и одновременно запустил код в if "вправо", в итоге, баги. Именно потому я перешел на switch - чтобы решить проблему приоритета, и заодно убрать баг.
|
|
|||||
|
Модрон-ветеринар
|
Совершенно верно, я собственно и писал - "оператор if ", имея ввиду то, о чем говорит olexandr, про else не упоминал.
__________________
Идите первым! |
|
|||||
|
Регистрация: Sep 2011
Адрес: Киев, Украина
Сообщений: 3
|
так я и пользовался if без else, но все равно возникали проблемы при одновременном нажатии нескольких кнопок
Добавлено через 8 минут В общем, немного перефразирую вопрос - каким методом можно сделать, чтобы, пока на клавиатуре нажата одна кнопка передвижения, другие кнопки передвижения не работали? Последний раз редактировалось lentinant; 25.09.2011 в 00:14. |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:39. |
|
|
« Предыдущая тема | Следующая тема » |
|
|