Thema: Delphi Wände im Spiel

Einzelnen Beitrag anzeigen

Benutzerbild von Lumpiluk
Lumpiluk

Registriert seit: 25. Dez 2008
110 Beiträge
 
#13

Re: Wände im Spiel

  Alt 3. Apr 2010, 12:12
Zitat von aurikel_Max:
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
case Key of
...
    VK_UP: begin
      IF not Shape1.top -5 = panel1.top then
      shape1.Top := shape1.Top - 5;
    end;
...
  end;
end;
Statt "IF not Shape1.top -5 = panel1.top then" würde ich
if Shape1.top -5 < 0 then benutzen.
Erstmal ist nämlich die Position des Panels für das, was darin ist, unwichtig (0 ist ganz oben; bei der Form wäre es genauso). Ausserdem könnte die Anfangsposition des Shapes auch auf einer Y-Position sein, die nicht durch 5 teilbar ist und dann würde es wieder durch die Wand gehen, weil nicht genau 0 erreicht wird.
Für rechts und unten verwendest du dann panel1.width, panel1.height (Tipp: Du musst die Ausmaße des Shapes mit einbeziehen )
  Mit Zitat antworten Zitat