Im Zuge eines neuen Projektes versuche ich ein kleines Spiel à la Legend of Zelda und ähnliche (aber nicht in diesem Umfang) zu programieren. Hab jetzt schon Klassen für die einzelnen Objekte der Welt erstellt und lass diese mit Canvas zeichnen. Funktioniert sowet ganz gut. Natürlich muss es auch einen Protagonisten geben, den der Spieler bewegt und hier fangen jetzt meine Probleme an:
1. Ich zeichne die Figur in ein Shape, bei dem die Eigenschaft Visible auf false steht. Die Figur soll mit dem Shape bewegt werden. Dazu habe ich folgenden Prozedur geschrieben:
Code: Alles auswählen
Case mRichtung of
1: Shape1.Top:=Shape1.Top-4;
2: Shape1.Left:=Shape1.Left-4;
3: Shape1.Left:=Shape1.Left+4;
4: Shape1.Top:=Shape1.Top+4;
end;
{Jetzt kommen dann die Zeilen zum Zeichnen des Charakters}
2. Gesteuert werden soll das Shape über die Pfeiltasten. Dazu folgende Zeilen:
Code: Alles auswählen
procedure Form1.Button1KeyPress (Sender: TObject; var Key: Word, ShiftTaste: Shift);
begin
//Der Standardrahmen halt
If Key=37 then mRichtung:=2;
If Key=38 then mRichtung:=1;
If Key=39 then mRichtung:=3;
If Key=40 then mRichtung:=4;
end;
3. Die Prozedur zu Frage 2 ist für einen Button. Eigentlich soll die aber für das Form abgelaufen werden. Nur tut sich dabei nichts. Es soll halt nichts ausgewählt sein müssen. Wie kann ich das umsetzen?
Ich bedanke mich für eure Hilfe, aus dem was ich hier so gefunden habe (auch unter zu Hilfe nahme von Google) bin ich nicht schlau geworden. Und für die die sich denken ich übernehme mich hier: der Mensch wächst an seinen Aufgaben.