Форум: Форум C++Разное
Новые темы: 00
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Движение объекта, управление стрелками
 
 автор: FireTiger   (02.05.2009 в 11:20)   письмо автору
 
 

Здавствуйте.

Необходимо реализовать движение объекта, управляя стрелками на клавиатуре. Само движение и моделирование столкновений с другими объектами я уже придумал и написал, но остались ряд очень важных для меня вопросов:

1. Допустим я жму стрелку "Влево", Не отпуская ее, нажимаю любую другую клавишу. Считывается код нажатой клавиши, движение останавливается. И если я отпускаю нажатую клавишу, объект все равно движение не продолжает.

Я предполагаю, что когда я нажимаю другую клавишу, считывается ее код, но когда отпускаю, нажатая в данный момент клавиша уже не распознается. Вопрос собственно в том, как решить эту проблему? Как продолжать движение, если зажата клавиша "Влево".

2. Я жму стрелку "Влево". Потом резко меняю направление и жму "Вверх" (отпустив предыдущую клавишу). Получается маленькая задержка, которую очень желательно убрать. Вопрос: как?

Надеюсь на вашу помощь =)

  Ответить  
 
 автор: Князев   (03.05.2009 в 22:54)   письмо автору
 
   для: FireTiger   (02.05.2009 в 11:20)
 

На счет первого вопроса предлагаю заблокировать все клавиши кроме стрелок.

  Ответить  
 
 автор: FireTiger   (04.05.2009 в 13:24)   письмо автору
 
   для: Князев   (03.05.2009 в 22:54)
 

Как их заблокировать?

  Ответить  
 
 автор: Князев   (04.05.2009 в 23:14)   письмо автору
 
   для: FireTiger   (04.05.2009 в 13:24)
 

Пишешь условие: если код нажатой клавиши не "стрелка" то Key=0;

  Ответить  
 
 автор: FireTiger   (04.05.2009 в 23:33)   письмо автору
 
   для: Князев   (04.05.2009 в 23:14)
 

Считывание уже произошло, следовательно дальнейшее обрабатывание "стрелки" уже невозможно.

Сейчас нашел вариант, который скорее всего решит проблему, но не могу его осилить. Код править особо не пробовал, т.к. не очень я его понимаю, постоянно выдает ошибку. Попробуйте кто может у себя.

http://dklab.ru/doc/keyboard.html

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования