Punkt 1: Rapidshare ist Rapidshare und wenn du keinen Premium-Account hast, ist der Download nach 45 Tagen weg. Also besser hier im Forum hochladen.
Punkt 2: Dein Code compiliert gar nicht. Die Figur KANN also gar nicht aus irgendwelchem Rahmen laufen.
Es geht hier um Zeile 75 und da muss eine Begin-End-Struktur eingebaut werden.
Punkt 3: Wo ist da bitte ein Kommentar, was der wo macht? - Den Durchblick hab ich nicht.
Punkt 4: Einen Rahmen würde ich durch ein Panel setzen (und dann die Rahmen ausblenden mit BevelInner und BevelOuter).
Punkt 5: Die Punkte sind doch recht lustig, weil ich selbst ohne Aktion schon in ein paar Sekunden 13 habe.
Punkt 6: Den Fehler wollte ich für dich eigentlich nicht finden und verbessern, er war aber zu offensichtlich:
Delphi-Quellcode:
procedure TForm1.Timer_SternTimer(Sender: TObject);
begin
If (richtung=1) and (img_Stern.Top + img_Stern.Height + 200 > form1.Height) then Richtungstern :=2;
Ich hatte schon angedeutet, dass eine Variablenverwechslung vorliegen könnte. Dabei lag ich aber falsch. Es sind
4.
So und dass du jetzt noch was lernst: Mit deinen Richtungsangaben kann man NULL anfangen. Du kannst allerdings ein ENUM machen und dann die Angaben etwas benennen, wie z.B. bew_LINKSHOCH, bew_LINKSRUNTER, bew_RECHTSHOCH und bew_RECHTSRUNTER. Damit hättest du auch das Problem abgedeckt. Ansonsten sollte alles funktionieren.
Bernhard
PS: Das soll ein Spiel werden? - Laut c't ist es dabei sinnvoller,
GetAsyncKeyState() zu verwenden.