var MoveLeftPressed : boolean;
...
WM_TIMER: begin
if MoveLeftPressed then
inc(CurrentXposition, StepCoord);
end;
WM_KEYDOWN: case WParam of
VK_LEFT:MoveLeftPressed := TRUE;
...
WM_KEYUP: case WParam of
VL_LEFT:MoveLeftPressed := FALSE;
Возможно ли как-то перезапустить event
Это вообще реально осуществить на delphi?
Кто мешает запомнить предыдущее состояние и после окончания прыжка его восстановить? Либо просто сделать прыжок и бег ортогональными типами состояний?
Вариантов реализации - масса.
а можно в виде примера привести фрагмент кода реализующий этот момент?
Можно то конечно можно, вот только в том же Марио он бежит вперед после прыжка только потому, что вы продолжаете нажимать ->. Отпустите ее и во время прыжка и он также остановится.
Мне нужно чтобы он продолжал бежать после прыжка, у меня же он останавливается во все после прыжка, и надо перенажимать кнопку.
Кроме того, необходимо помнить, что у драйвера клавиатуры есть ограничения на количество одновременно нажатых клавиш. Тут уж только курение DirectX поможет...