C# Game collision

... komplette Frage anzeigen

2 Antworten

Schade, das ganze hättest Du besser strukturiert darstellen sollen. Dergestalt liest sich das schwierig. Eine möglicher Fehlerquelle ist der letzte Vergleich in der ersten if-Abfrage:

|| PlayerPosi.Y >= HausPosi.X + Haus.Height) 

Es müsste m.E. folgendermaßen lauten:

|| PlayerPosi.Y >= HausPosi.Y + Haus.Height) 

Die vertikale Position des Hauses spielt eine Rolle. Wenn das ausgebessert ist, was passiert dann?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Ben213
24.08.2012, 15:13

klar. dieser Fehler ist mir nicht aufgefallen. Probiere es mal gleich aus.

0

ich weiß nicht genau wie es in C# ist, aber es klingt fast danach das er erst die " > | < " operation ausführt und hinterher erst + rechnet.. daher probiere es mal mit Klammern um die operation aus

if (PlayerPosi.X + Player.Width <= HausPosi.X || PlayerPosi.X >= (HausPosi.X + Haus.Width) || Player ...

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?