Mal sehn wie man das auf die schnelle adaptieren könnte... bei nem TPoint ist der Nachteil, dass du's nicht direkt im case nutzen kannst :/
wenn
isKeyPressed eine Funktion ist die prüft ob in der Zwischenzeit eine bestimmte Taste gedrückt wurde (Die Arbeit nehm ich dir nicht ab
) könnt mans etwa so machen (und zwar im OnTimer):
Delphi-Quellcode:
// Deklarationen:
// richtung : globalevariable vom typ TRichtung
// bLeft etc. : lokale Variable vom typ Boolean
if isKeyPressed(VK_Left) then bLeft := true;
// wiederholen für die anderen Richtungen
// => du weisst welche Tasten gedrückt wurden
case Richtung of
riLeft : begin
if bHoch then richtung := riHoch;
if bRunter then richtung := riRunter;
end;
// wiederholen für die anderen 3 Fälle
end;
// auf richtung reagieren und entsprechend zeichnen
Das ist nicht geprüft aber so müsst es sauber gehn