![]() |
Bereich in einer Painbox nach einer Farbe durchsuchen
In Delphi sollen wir ein Spiel programmieren. Leider haben wir noch nicht gelernt wie man Spiel-Engines wie zb. Andorra benutzt. Nur Standart-Sachen wie for-schleifen, if-verzweigungen, buttons, painbox, timer usw.
Nun hatte ich die Idee einen 2D zombie shooter in einer Imagebox zu programmieren. Jetzt hänge ich gerade an dem Punkt wo ich die Kollision zwischen Zombie und meinem Schuss finden möchte. Mein Schuss ist eine weiße linie die von meine Spieler bis zum Punkt führt wo ich mit der Maus geklickt habe. Ein Zombie ist rot. So dachte benutze ich einfach diese Zeile um zu prüfen ob ich jetzt einen roten zombie getrofen hab oder nicht: image1.Canvas.Pixels[botx,boty]=clwhite . Wenn der Pixel im Bot/Zombie weiß ist, so soll dieser verschwinden. Leider wird da genau 1 Pixel überprüft. Der Zombie besteht aber aus mehreren Pixel, genauer gesagt ein Kreis (Ellypse). Wie kann ich jetzt nun prüfen ob die weiße Linie im Bot drin ist oder nicht? Wäre um Hilfe sehr dankbar! |
Re: Bereich in einer Painbox nach einer Farbe durchsuchen
Überprüfe nicht auf den Canvas sondern die Positionen der Figuren.
|
Re: Bereich in einer Painbox nach einer Farbe durchsuchen
und wie wird sowas aussehen?
meine figur steht hier: image1.Canvas.ellipse(meinstartX-10,meinStartY-10,meinStartX+10,meinStartY+10); der Gegner hier: image1.Canvas.ellipse(botx-7,boty-7,botx+7,boty+7); der Schuss: image1.Canvas.MoveTo(meinstartx,meinstarty); image1.Canvas.LineTo(x,y); |
Re: Bereich in einer Painbox nach einer Farbe durchsuchen
Vergleiche die Positionen:
Wenn Schuss.x >= Figur.x und Schuss.x <= Figur.x + Figur.Width und Schuss.y >= Figur.y und Schuss.y <= Figur.y + Figur.Height |
Re: Bereich in einer Painbox nach einer Farbe durchsuchen
Der Gegner ist doch ein Kreis. Du kennst seine Position und die Position des Schusses. Also berechnest du den Abstand vom Schuss zum Mittelpunkt des Gegners. Und wenn dieser Abstand kleiner ist als der Radius des Gegners, ist der Schuss "im Gegner drin", also wurde er getroffen.
Gruß |
Re: Bereich in einer Painbox nach einer Farbe durchsuchen
@ Fussball-robby: danke :D nur beim schuss wird es bisschen fummelig werden da es eine linie ist aber sehr guter ansatz :D DANKE!!!!
|
Re: Bereich in einer Painbox nach einer Farbe durchsuchen
Zitat:
Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:22 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