Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Kollision mit Farbe (https://www.delphipraxis.net/149024-kollision-mit-farbe.html)

Delphi-Narr 12. Mär 2010 16:05


Kollision mit Farbe
 
Hallo,
ich habe ein Spiel geschrieben und möchte jetzt eine Abfrage machen, ob ein Ball auf einem Canvas mit einem komplett schwarzen Männlein auf einem anderen Canvas kollidiert. Dabei möchte ich jedoch auch wirklich nur dann True erhalten, wenn das Mänllein getroffen wird und nicht, wenn der Ball mit dem Rechteck um das Männlein kollidiert.

Wie kann man das machen?

Liebe Grüße!

Lumpiluk 12. Mär 2010 17:31

Re: Kollision mit Farbe
 
Du könntest auf der Position am Canvas, wo der Ball als nächstes hinfliegen würde, mit Canvas.Pixels[x,y] die Pixelfarbe herausfinden und darauf reagieren...

Delphi-Narr 14. Mär 2010 12:02

Re: Kollision mit Farbe
 
Das wäre sicherlich bei einem Punkt machbar, aber bei einem Ball müsste ich jeden Pixel des Balls einzeln abfragen, zumindest die Außenkante. Das wäre dann jedoch zu langsam, wenn das in einem Timer mit mehreren Bällen geschehen muss...

Medium 14. Mär 2010 16:54

Re: Kollision mit Farbe
 
Und genau deswegen macht man Kollisionserkennung auch nicht mit Pixelprüfungen, sondern mit Mathematik ;) (Na gut, es gibt noch den anderen Grund, dass bei Pixelprüfungen ein schneller Proband auch mal gerne über Kanten hinweg flutscht.)


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