Das Bedienungsproblem kann dadurch gelöst werden, dass die Tastaturabfrage in die TimerMethode integeriert wird; damit sind wir dann wieder bei der ursprünglichen "GetAsync.." Lösung. Nun reagiert der "Schläger" zufriedenstellend schnell:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var i:integer;
begin
if GetAsyncKeyState(vk_Right)<>0 then
if paddle_xr<image1.ClientWidth then begin
paddle_xl:=paddle_xl+10;
paddle_xr:=paddle_xr+10;
end ;
if GetAsyncKeyState(vk_left)<>0 then
if paddle_xl>0 then begin
paddle_xl:=paddle_xl-10;
paddle_xr:=paddle_xr-10;
end;
//...
//..
Dein Problem mit der willkürlichen Änderung der Blocklängen habe ich leider nicht wirklich verstanden