Kontrollieren PictureBox andere PictureBox berührt?

11/20/2013 14:16 NoVision#1
Hey e*pvp!

Ich habe aus Spaß in der Schule ein kleines Spiel angefangen... jedoch hänge ich gerade an einem ziemlich doofen Punkt.

Wenn der Spieler den Diamanten berührt, dann soll ein neuer Diamant erstellt werden und die Punkte sollen sich um 1 erhöhen; alles kein Problem eigentlich... aber wie kann ich kontrollieren, ob die 1. PictureBox die 2. PictureBox berührt?

Der Spieler ist 32x32 groß, und der Diamant 16x16.

(Der Spieler kann nur rauf und runter, also müsste er nur die oberen und unteren Flächen kontrollieren)

Mein Versuch:

Danke schon mal im Voraus!


€dit:
Danke an alle, das Problem wurde mit der IntersectsWith-Methode gelöst, hier der Code:



Grüße
11/20/2013 14:41 tolio#2
du hast von allen spielelementen die location und die ausmaße, so kannst du von allen objekten deren fläche auf der spielfläche ausrechnen und somit auf überschneidungen prüfen. in deinem fall reichen, wie du selber schon erkannt hast ja sogar die ober und unterkanten.

also einfach prüfen ob die unterkante eines diamantens niedriger oder gleich der oberkante des spielers ist.

falls es auch "nach unten" geht halt entsprechend anders rum (oberkante diamant >= unterkante spieler)
11/20/2013 15:17 NoVision#3
Quote:
Originally Posted by tolio View Post
du hast von allen spielelementen die location und die ausmaße, so kannst du von allen objekten deren fläche auf der spielfläche ausrechnen und somit auf überschneidungen prüfen. in deinem fall reichen, wie du selber schon erkannt hast ja sogar die ober und unterkanten.

also einfach prüfen ob die unterkante eines diamantens niedriger oder gleich der oberkante des spielers ist.

falls es auch "nach unten" geht halt entsprechend anders rum (oberkante diamant >= unterkante spieler)
Ich verstehe was du meinst und das alles war mir auch schon bewusst, aber ich habe nun wirklich keine Ahnung, wie ich die Ober- und Unterkante des Spielers prüfe ob sie die Ober- und Unterkante des Diamants schneiden...

Ich habe jetzt mal folgendes gemacht:

Das ganze funktioniert auch teilweise, aber nicht immer wenn sie sich schneiden, manchmal auch wenn sich die X-Achse schneidet aber nicht die Y-Achse.. wäre echt toll wenn jemand mir einen Tipp gibt wo der Fehler sein könnte, danke!
11/20/2013 17:29 kissein#4
Schau evtl mal auf riemers.net vorbei. Dort ist das Collision Beispiel zwar für XNA aber die Logik kann man sich abschauen.

[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
11/20/2013 18:52 NoVision#5
Quote:
Originally Posted by kissein View Post
Schau evtl mal auf riemers.net vorbei. Dort ist das Collision Beispiel zwar für XNA aber die Logik kann man sich abschauen.

[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
Dankeschön, aber ich habe es bereits mit der IntersectsWith-Methode gemacht.

Der Code:

Grüße
11/20/2013 20:48 DeinMud#6
Spiele sollte man nicht mit Controls machen.
Lies dich zumindest in GDI ein oder benutz SharpDX