Einzelnen Beitrag anzeigen

Premaider

Registriert seit: 31. Mär 2012
160 Beiträge
 
#17

AW: Spiel nachprogrammieren - Gegnerberührung funktioniert nicht

  Alt 30. Aug 2012, 18:01
Habe mich jetzt erstmal an die Bewegung und das abprallen der Gegner gesetzt:

Delphi-Quellcode:
procedure TForm1.Timer2Timer(Sender: TObject);
var
m,l,k,links,rechts,oben,unten,Geschwindigkeit:Integer;
begin
    //Gegner bewegen
    If length(Gegner)>=1 Then
      begin
        For l:= 0 to length(gegner)-1 do
          begin
            If Gegner[l].width > Gegner[l].height Then
              begin
                //Wenn Gegner waagrecht ist
                Gegner[l].Left:=Gegner[l].left + Gegner[l].speed;
                for k := 0 to high(Gegner) do
                  begin
                    links := Gegner[k].left;
                      if links <= 0 then
                        begin
                          Gegner[k].speed := Gegner[k].speed * -1;
                        end;
                      if Links + Gegner[k].Width >= Form1.clientwidth + Gegner[k].left then
                        begin
                         Gegner[k].speed := Gegner[k].speed * -1;
                        end;
                  end;

              end;
            If Gegner[l].width < Gegner[l].height Then
              begin
             //Wenn Gegner senkrecht ist
                Gegner[l].top:=Gegner[l].top + Gegner[l].speed;
                for m := 0 to high(Gegner) do
                  begin
                    oben := Gegner[m].top;
                      if oben <= 0 then
                        begin
                          Gegner[m].speed := Gegner[m].speed * -1;
                        end;
                      if oben + Gegner[m].Height >= Form1.clientheight then
                        begin
                          Gegner[m].speed := Gegner[m].speed * -1;
                        end;
                  end;
              end;
        end;
   end;
end;
Leider funktioniert das nicht ganz. Die Gegner prallen manchmal ab und manchmal nicht und ich
verstehe nicht warum. Kann mir jemand sagen, was ich falsch mache ?
Ich kann euch auch nochmal das Projekt hochladen, damit ihr es euch mal anschauen könnt.
  Mit Zitat antworten Zitat