|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.02.2010, 03:05 | #1 |
Пользователь
Регистрация: 07.02.2010
Сообщений: 31
|
Аномалии
прототип:
Код:
Код:
Необходимый материал предоставлен, теперь можно перейти и к основному вопросу. И так, приступим. Есть некое поле размером 20х20секторов размером 20х20 (Размер поля 400) Есть некий объект размером 20 Описание: при нажатии одноиз клавишь w a s d объект осуществляет действие в ту или иную сторону, в зависимости от клавиши. Но в данном случае, вмессто того, что бы переместиться на 1 сектор вперед, объект перемещается через 2 сектора стабильно. Вопрос: Почему так и как это иправить? (!)Ответ необходим только в рамках поставленного вопроса,не больше не меньше и по существу.
#define true false
У сверхпрограммы будут сверхглюки, ха-ха! |
09.02.2010, 12:50 | #2 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,604
|
И как вы вызываете метод driver? Приведите код главного цикла.
|
09.02.2010, 13:17 | #3 |
Пользователь
Регистрация: 07.02.2010
Сообщений: 31
|
_tWinMain():
Код:
Код:
#define true false
У сверхпрограммы будут сверхглюки, ха-ха! |
09.02.2010, 16:50 | #4 |
Пользователь
Регистрация: 07.02.2010
Сообщений: 31
|
Идей ни у кого не появилос, в чем может быть проблема?
#define true false
У сверхпрограммы будут сверхглюки, ха-ха! |
09.02.2010, 21:14 | #5 |
Форумчанин
Регистрация: 07.01.2010
Сообщений: 141
|
не в том месте обработка клавишь. в процедуре окна нужно ловить правильные сообщения и там уже изменять координаты. а переход на две клеточки возможно происходит из-за того, что при нажатии на клавишу винда генерит несколько сообщений (допустим два), и на каждое такое сообщение вызывается драйвер. в драйвере проверяется состояние кнопки, она оказывается нажатой и т.о. происходит перемещение на две позиции.
В виндовых внутренностях не силен, так что все может быть и по другому. дебагер вам в помощь. ну или какие-нибудь логи/трейсы того, что происходит. |
10.02.2010, 01:57 | #6 |
Пользователь
Регистрация: 07.02.2010
Сообщений: 31
|
Допустим, теоретически это так.
Но перехват клавишь у меня выкинуть восновной поток только для того, что бы недыло как раз таких проблем с дублированием сообщений... Хотя надо попробывать вашу идею, может пойдет. У кого есть еще какие идеи?
#define true false
У сверхпрограммы будут сверхглюки, ха-ха! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Аномалии ListBox'a | Viteef | Компоненты Delphi | 3 | 22.05.2007 20:09 |