Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi (wieder einmal) Kollisionsabfrage mit DelphiX (https://www.delphipraxis.net/12038-wieder-einmal-kollisionsabfrage-mit-delphix.html)

Dagon 19. Nov 2003 11:38


(wieder einmal) Kollisionsabfrage mit DelphiX
 
Hallo Leute!

Ich weiss, wir hatten das Thema schon ein paar Mal. Aber ich kriegs einfach nicht hin:

Ich habe da so ein kleines Labyrinth, das aus lauter kleinen 32x32 grossen Blöcken (Sprites) aufgebaut ist (= die Wände des Labyrinths).
Das Spieler-Sprite darf aber nicht durch die Wände laufen. Wie kann ich das realisieren?

Ich hoffe, jemand kann mir helfen!

:hi:

Maximus 19. Nov 2003 12:00

Re: (wieder einmal) Kollisionsabfrage mit DelphiX
 
Delphi-Quellcode:
 procedure TSpieler.DoCollision(Sprite:TSprite; var Done:Boolean);
begin
 if sprite is TWand then
  case Spieler.richtung of //richtung von der man kommt
  1: y := y + 1; //wenn man nach oben läuft und die Wand berührt
  2: x := x - 1; //wenn man nach rechts läuft und die Wand berührt
  3: y := y - 1; //wenn man nach unten läuft und die Wand berührt
  4: x := x + 1; //wenn man nach links läuft und die Wand berührt
  end;
end;
TSpieler wäre das Sprite das sich im Labyrinth bewegt und TWand halt die 32x32 große Sprites die die Wand darstellen sollen!

richtung muss bei TSpieler als integer vereinbart werden und bei DoMove je nach richtung geändert werden!
1 -> nach oben
2 -> rechts
3 -> unten
4 -> links

So müsste es funktionieren das TSpieler nicht auf die Wand läuft, bzw. bevor es angezeigt wird das TSpieler auf die Wand läuft wird TSpieler wieder zurück gesetzt in die richtung von der er kam!

PS: Ich hoffe ich hab das Problem richtig vertsanden!

Dagon 19. Nov 2003 12:29

Re: (wieder einmal) Kollisionsabfrage mit DelphiX
 
ICH DANKE DIR!!!! :hello: :love:

Das ist einfach und doch genial!


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

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