ok..^^
Du hast eine Konstante Speed, dort kannst du zur Designtime einstellen wie schnell sich dein Image bewegen soll.
Jetzt haben wir einen Timer der sich um das bewegen der Bilder kümmert.
Und zwar kann sich das Bild in X und in Y-Richtung bewegen.
Den jeweiligen Wert um den es sich bewegt speichern wir in SpeedX, SpeedY.
Zuerst müssen wir die beiden Variablen iniziiren (schreibt man das so? ô_0) weil am Anfang ein Zufälliger Wert drinnsteht.
Delphi-Quellcode:
SpeedX := 0;
SpeedY := 0;
Dann schauen wir uns an ob gerade die taste d gedrückt wird:
if GetAsyncKeyState(VkKeyScan('d')) <> 0 then
Zitat von
DelphiHilfe:
The GetAsyncKeyState function determines whether a key is up or down at the time the function is called, and whether the key was pressed after a previous call to GetAsyncKeyState.
Zitat von
DelphiHilfe:
The VkKeyScan function translates a character to the corresponding virtual-key code and shift state for the current keyboard.
Wenn ja wird SpeedX um den Wert Speed erhöht.
Dann schauen wir uns an ob die Taste a gedrückt ist.
Wenn ja wird SpeedX um Speed wieder erniedrigt.
-> Wenn a und d gedrückt sind ist SpeedX = 0.
Das gleiche machen wir in Y-Richtung.
Und am Schluss bewegen wir das Bild:
Delphi-Quellcode:
shp1.Left := shp1.Left + SpeedX;
shp1.Top := shp1.Top + SpeedY;
(ob das jetzt shp1 oder image1 heißt ist ja egal^^)
für den Rest siehe ein Post über mir^^