Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi [Andorra] Kollision bei Breakout-Spiel (https://www.delphipraxis.net/117284-%5Bandorra%5D-kollision-bei-breakout-spiel.html)

Diamondback2007 15. Jul 2008 11:30


[Andorra] Kollision bei Breakout-Spiel
 
hallo zusammen,

ich habe folgendes problem.
ich möchte bei einem breakout-spiel die Kollisionen realiseren. dazu hab ich halt einfach mal in die demos geguckt und
das auch so gemacht wie der igel.
Jetzt gibts aber eine problem. die kollisionen werden immer so behandelt als wäre der brick von unten oder oben berührt worden, egal ob dies der fall ist oder der ball die seite getroffen hat.
wenn er die seite berührt muss aber natürlich anders vorgeganen werden. wie also soll ich erkenn wo der brick getroffen wurde?
eine idee wäre zu prüfen wo sich der ball verhältnismäßig zum brick befindet also ob links oder rechts oder oben oder unten.
gibt es da noch was besser?

gruß

igel457 15. Jul 2008 11:37

Re: [Andorra] Kollision bei Breakout-Spiel
 
In der Kollisionsroutine wird dir das Sprite, mit dem die Kollision stattgefunden hat übergeben. Nun musst du einfach nur die aktuellen Koordinaten des Balles mit denen der Blöcke vergleichen und schon weißt du, wo die Kollision stattgefunden hat.

Diamondback2007 15. Jul 2008 11:43

Re: [Andorra] Kollision bei Breakout-Spiel
 
Gut also gibts nichts anderes? Dann mach ich das so! Danke :)

mimi 18. Jul 2008 11:16

Re: [Andorra] Kollision bei Breakout-Spiel
 
Liste der Anhänge anzeigen (Anzahl: 1)
warum so aufwendig ?
für ein Brekout Clone reicht das doch aus, wenn du weiß das eine Kollision statt gefunden hat.
Dann kannst du einfach den Ball zurückfliegen lassen, in einen anderen winkel.

Evlt. hilft dir mein Code im Anhang weiter. Allerdings ist der für mein Game Pack geschrieben. Aber das sollte kein Problem sein.

Dort schau dir mal die Methode:
procedure TGamePackBreakOut.onTimer(Sender: TObject);
an. Die sollte deine Frage(n)beantworten.

Diamondback2007 18. Jul 2008 12:01

Re: [Andorra] Kollision bei Breakout-Spiel
 
Hmm...du lässt deine Kugel halt immer gleich abprallen. Ich möchte aber, dass der Ball wenn er unten gegenkommt halt die XRichtung wechselt und wenn er die Seite berührt die YRichtung.

mimi 18. Jul 2008 12:02

Re: [Andorra] Kollision bei Breakout-Spiel
 
Das passiert bei mir. Indem ich den Winkel zufällig bestimmen lasse !

Medium 18. Jul 2008 16:40

Re: [Andorra] Kollision bei Breakout-Spiel
 
Das ist glaube ich nicht, was man so intuitiv erwarten würde :shock: Das stell ich mir kaum spielbar vor!

mimi 18. Jul 2008 17:24

Re: [Andorra] Kollision bei Breakout-Spiel
 
Doch ist ganz nett eigentlich. Bis auf ein paar Macken *G* das macht es ja gerade so spanend. du weiß nicht wo der Ball hinfliegen wird bei einer Kollision *G* Bei meinen führen Versionen wusstest du es sofort !

Medium 19. Jul 2008 01:23

Re: [Andorra] Kollision bei Breakout-Spiel
 
FÜr mich waren und sind Breakout-Varianten bislang keine Glücks- sonder Geschicklichkeitsspiele, aber gut, jeder wie er mag 8)

mimi 19. Jul 2008 10:17

Re: [Andorra] Kollision bei Breakout-Spiel
 
Ja gedult das brauchst du bei Brekout aufjedenfall. darum möchte ich auch noch eine Speicher Funktion Einbauen *G* für den Spielstand !


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