Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi DelphiX : Mit dem Kopf durch die Wand ! (https://www.delphipraxis.net/23392-delphix-mit-dem-kopf-durch-die-wand.html)

Neutral General 2. Jun 2004 13:45


DelphiX : Mit dem Kopf durch die Wand !
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich arbeite im Moment an einem Rollenspiel. Die Kollision bei dem Monster erfolgt so ds wenn es gegen eine Wand läuft sich eine andere Richtung aussucht. Das funktioniert auch wunderbar außer das wenn das Monster von oben oder unten gegen die Wand läuft es teilweise stecken bleibt oder/und sich verheddert oder sogar "Mit dem Kopf durch die Wand geht". Ich habe das RPG (naja es soll mal eins werden..) in den Anhang geuploaded damit ihr euch mal ein Bild von dem Problem machen könnt.

Die Kollisionsabfrage :

Delphi-Quellcode:
procedure TMonster.DoCollision(Sprite: TSprite; var Done: Boolean);
begin
  if (Sprite is TWand) and (Richtung = 1) then begin
   X:=X-2;
   Richtung := 5;
  end
  else
  if (Sprite is TWand) and (Richtung = 2) then begin
   X:=X+2;
   Richtung := 6;
  end
  else
  if (Sprite is TWand) and (Richtung = 3) then begin
   Y:=Y-5;
   Richtung := 7;
  end
  else
  if (Sprite is TWand) and (Richtung = 4) then begin
  Y:=Y+5;
  Richtung := 8;
  end;
end;
und dann wird eine neue Richtung "ausgewürfelt" :

Delphi-Quellcode:
procedure TForm1.Timer3Timer(Sender: TObject);
var hr : integer;
begin
  if Richtung = 5 then begin
   Richtung := random(3)+2;
  end;
  if Richtung = 6 then begin
   hr := random(4)+1;
   if hr = 2 then begin
    hr := 6;
   end
   else
   Richtung := hr //2
  end;
  if Richtung = 7 then begin
   hr := random(4)+1;
    if hr = 3 then begin
    hr := 7;
    end
    else
   Richtung := hr //3
  end;
  if Richtung = 8 then begin
   Richtung := random(3)+1;
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz