Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi [Andorra] Objekt ein Hindernis/Blockade (https://www.delphipraxis.net/149921-%5Bandorra%5D-objekt-ein-hindernis-blockade.html)

sabbert 2. Apr 2010 13:11


[Andorra] Objekt ein Hindernis/Blockade
 
Hallo zusammen,

Habe testweise ein Spaceshooter programmiert.

Der Spieler steuert ein Raumschiff das aus einem Imagesprite besteht.

Durch den simplen Mapeditor können Wände platziert werden die auch Imagesprite sind der Klasse TWand.

Jetzt zu meiner Frage:
Möchte gerne, wenn das Raumschiff gegen eine Wand fliegt, dass es nicht hindurch kann. Zurzeit fliegt des ja einfach drüber her,

da die Sprites ja einfach "aufgemalt" wurden.

Wie schaffe ich es das mein Raumschiff immer wieder abprallt wenn es gegen eine Wand fliegt, da es ja von allen Seiten draufzufliegen kann?

PS. Die wände sind nicht nur außerhalb, sondern können überall als "Blöcke" platziert werden, sodass ich mich ja allgemein halten muss mit der Abfrage.

Bei Verständnisfragen bitte Fragen stellen und danke für die Mühe :)

mfg

sabbert 4. Apr 2010 15:23

Re: [Andorra] Objekt ein Hindernis/Blockade
 
*Push*

Keiner eine Idee?

Muss nicht direkt Programmiersprache sein, nur Ansätze und Ideen würden reichen.

turboPASCAL 4. Apr 2010 18:36

Re: [Andorra] Objekt ein Hindernis/Blockade
 
Zitat:

Wie schaffe ich es das mein Raumschiff immer wieder abprallt wenn es gegen eine Wand fliegt, da es ja von allen Seiten drauf zufliegen kann?
In dem du "abfragst" ob sich ein Hindernis auf dem Weg deines Raumschiffes befindet. (if... then... else...)

Zitat:

Die Wände sind nicht nur außerhalb, sondern können überall als "Blöcke" platziert werden, sodass ich mich ja allgemein halten muss mit der Abfrage.
Nun dann musst du dir irgend wie die Position & Grösse der Wände "merken".
Dazu gibt es Verschiedene Wege.
*Als (Bild)-Map zB. ein sw/weises Bitmap bei dem die Wände schwarz und der Weg Weiss ist (oder andersrum ;) ).
*Oder man nehme ein Array und merke sich darin die Wände.

Das simpelste Beispiel ist dazu wohl ein Simples Pong Spiel.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:02 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