Laden...

WinForms - Einfachte Kollisionsabfrage von Panels

Erstellt von Remling vor 8 Jahren Letzter Beitrag vor 8 Jahren 1.381 Views
R
Remling Themenstarter:in
48 Beiträge seit 2013
vor 8 Jahren
WinForms - Einfachte Kollisionsabfrage von Panels

Heyo,

Ich hab grad ein Problem und zwar müsste ich ne einfache Kollisionsangriffe von zwei Panels machen. Alle Panels sind 20x20 groß und in einem Dictionary gespeichert und der User bewegt sich immer um 5 einheiten in eine Richtung. Alle anderen Panels bleiben immer an der gleichen Position welche sich immer durch 20 Teilen lassen (also 0,0; 0,20; 0,40 usw).

Jetzt die Frage:
Wie kann ich am einfachsten abfragen ob der User und eines der anderesn Panels Kollidieren? Hab schon ein wenig rumgesucht aber nichts passendes gefunden.

WHAT DOES THE FOX SAYS

37 Beiträge seit 2014
vor 8 Jahren

Hi,

schau dir mal diese Methode hier an:
Rectangle.Intersect

Gruß

2.207 Beiträge seit 2011
vor 8 Jahren

Hallo Remling,

sowas hatten wir schon öfters mal hier im Forum. Bringt dir die SuFu was?

Beispiel:

Collision von mehreren Rectangles

Gruss

Coffeebean

R
Remling Themenstarter:in
48 Beiträge seit 2013
vor 8 Jahren

Das mit dem IntersectsWith funktioniert zwar einigermaßen, da es sich aber um sehr viele Objekte und teilweise mehrere abfragen pro sekunde handelt ist das sehr inperformant 😕

WHAT DOES THE FOX SAYS

B
88 Beiträge seit 2016
vor 8 Jahren

Hat noch mit diesem Problem zu tun, oder?

Testen nach Objekt an bestimmter Position

Kannst du uns mehr Kontext geben? Dann kann dir vielleicht jemand besser helfen.

Möglicherweise verfolgst du einen grundsätzlich falschen Ansatz, so wie ich letztens mit meinen 1000 PictureBox Controls (viel zu viele).
Und panels sind ja auch Controls.