Ich habe ein Spiel gemacht, bei dem der Spieler ein Quadrat kontrolliert, wenn es auf eine Wand trifft, sollte es sterben. Der Square ist eine Picture Box und die Wände sind ebenfalls Bildboxen. Sie können mit den Tasten W, A, S und D bewegen Ich dachte an etwas ähnliches zu tun:Erkennen, wenn eine Picture Box ein anderes Steuerelement berührt
if(Square.Top == Square.Top + Square.Height)
und dann das Spiel neu starten. Gibt es einen besseren Weg es zu tun? Anstatt viele IFs zu haben? Wann immer eine Kontrolle eine andere berührt, um etwas zu tun?
Vielen Dank!
tatsächlich, 'Square.Top == Wall.Top' zeigt nicht an, dass sie berühren, es sei denn, die Wand ist über dem Quadrat. Wenn sich die Wand rechts oder links vom Quadrat befindet, berühren sie sich nicht, auch wenn die Oberseite gleich ist. –
Es war nur ein Beispiel, lassen Sie mich mich korrigieren Square.Top == Wall.Square.Top + Square.Height –
Kollisionserkennung wird weitgehend im Internet gebloggt. Eine schnelle Suche gab mir diesen Artikel: https://developer.mozilla.org/en-US/docs/Games/Techniques/2D_collision_detection aber wirklich, es gibt Tonnen von Blog-Posts zu diesem Thema. –