![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Des666 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 13.10.2006 Репутация: -1 Всего: нет |
вот в чем беда...
По задумке при нажатии определенной клавиши объект face (это обычный овал - Shape) должен 10-ью кадрами (задержка кадра - 15мс, изменение координаты: 5пикс./кадр) плавно подняться на 50 пикселей. А на деле получается, что проходит 1.5с и face резко перепрыгивает на 50пикс. Вот фрагмент кода. Что можно сделать, чтобы было "как по задумке"?
Это сообщение отредактировал(а) Des666 - 20.12.2006, 19:03 |
|||
|
||||
| Elfebet |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: 2 Всего: 14 |
повыставляй в цыклах application.processmessage;
-------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
угу. Перед Sleep;
|
|||
|
||||
| Des666 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 13.10.2006 Репутация: -1 Всего: нет |
не работает:
[Error] some.pas(36): Undeclared identifier: 'processmessage' Из за чего вылазит такая ошибка? Это сообщение отредактировал(а) Des666 - 20.12.2006, 20:32 |
|||
|
||||
| GuManOiD |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 12.9.2005 Репутация: нет Всего: нет |
повыставляй перед Sleep(15):
перерисует форму... а вообще я бы использовал таймер ИМХО хотя быстрее работать будет если вызывать
Это сообщение отредактировал(а) GuManOiD - 20.12.2006, 20:56 |
||||
|
|||||
| Des666 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 13.10.2006 Репутация: -1 Всего: нет |
А как можно его тут использовать?
|
|||
|
||||
| GuManOiD |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 12.9.2005 Репутация: нет Всего: нет |
Ну много способов
Напрмер, можно создать 1 и в нем обрабатывать нажатия... Я вообще не очень красноречив, но постараюсь обьяснить Все зависит от конкретной задачи. Если это 2D игра, то возможно во время плавного перемещения обьекта тебе потребуется перерисовка других обьектов, а процедура Sleep стопорит обработку сообщений в главном потоке. + к этому, как я понял KeyDown обработает все клавиши нажатые даже во время Sleep, а значит если игрок быстро нажмет несколько раз клавиш, а потом перестанет нажимать то ему придется подождать пока обьект закончит перемещения... Ну вообщем, сейчас сделаю с таймером, жди кода... +По конкретней цель стоит описать |
|||
|
||||
| dimazu |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 4.3.2006 Репутация: 4 Всего: 5 |
Ну вы, блин, даете....
|
||||
|
|||||
| GuManOiD |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 12.9.2005 Репутация: нет Всего: нет |
dimazu, Тоже написать хотел
В начальное положение face: Top и Left должны быть кратны GridStep. Пример простой и довольно "пластмассовый" но поэксперементировать и подогнать под задачу вполне реально. Если требуется что бы при зажатой клавише обьект всегда перемещался используй GetKeyState, тогда обрабатывать KeyDown не требуется Это сообщение отредактировал(а) GuManOiD - 20.12.2006, 21:32 |
|||
|
||||
| Des666 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 13.10.2006 Репутация: -1 Всего: нет |
Пасибо разобрался вроде =)
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |