Das wäre jetzt ideal für OOP. Du erstellst dir eine Klasse Player und eine Klasse Wall oder GameObject. Die haben dann als Eigenschaft auch ein Rectangle, die die IntersectsWith-Funktion besitzen. Dann zeichnest du im Paint-Event deinen Spieler: VB.NET-Quellcode (3 Zeilen)
So einen Code würde ich niemals verwenden. Verwende statt And AndAlso, da werden nicht mehr beide Ausdrücke ausgewertet wenn der erste falsch ist. Ich habe dir doch ein Beispiel gegeben. Probiere das umzusetzten (siehe Klassen, GDI+). Wenn du das nicht verstehst kannst du ja fragen.
Ich geb dir jetzt mal eine "Inspiration" Du hast eine Klasse Player, die könnte ganz grob so aussehen: VB.NET-Quellcode (22 Zeilen) In deiner Form-Klasse erstellst du eine Instanz der Klasse Player. Das sähe dann so aus: VB.NET-Quellcode (1 Zeile) Und dann musst du nur noch in der Form-Paint zeichnen: VB.NET-Quellcode (5 Zeilen) Bei der DrawImage-Methode brauch dein Player die Property Size natürlich nicht mehr, vllt eher eine Property Image. Soweit verstanden? Und bitte nicht nur C&P, sondern b…
Zitat von JGF: „Public Position() As Point“ Das ist ein Array. Du musst es als Property deklarieren: VB.NET-Quellcode (1 Zeile) //Edit: sonne75 war schneller
Also bei mir kommt kein Fehler. Kann das eventuell an der Konfiguration der IDE liegen? Der Name Size ist schon von System.Drawing.Size "belegt", da muss man sich wohl einen anderen Namen für die Property ausdenken.
Ich habe hier vor kurzem gehört, dass XNA nicht mehr weiterentwickelt wird. Wenn das stimmt, würde ich eher auf DirectX oder OpenGL umsteigen (bzw. weiter GDI+). Zitat von JGF: „Wie bekommen ich es hin, mit einem Befehl alle "Wände" oder letztendlich Rechtecke abzudecken, damit ich durch diese nicht durchgehen kann und ich nur ein Code brauche.“ Ich versteh nicht wirklich was du damit meinst?!