Verfasst: 22.12.2007 16:46
Wenn du eine Kollision Feststellst reicht es, das Sprite an den nächsten erlaubten Wert zu setzen. Wenn dein Spieler also grade dabei war nach oben zu laufen und er kommt auf ein verbotenes Feld, dann weist du, dass seine Position dann Felder*50+1Pixel auf der Karte ist. Wenn du das so machst, dann sollte auch nichts zappeln.
Ein weiteres Problem das ich sehe ist, dass du die Spielergröße für jedes Frame betrachtest... das kann zu einem großen Problem werden, wenn die einzelnen Animationsframes wirklich unterschiedlich groß sind. Es spricht prinzipiell erstmal nichts dagegen, dass die Frames unterschiedlich groß sind, aber der Spieler sollte von seiten der Spiellogik eine feste größe haben, sonst wirst du arge Probleme bekommen.
Ein weiteres Problem das ich sehe ist, dass du die Spielergröße für jedes Frame betrachtest... das kann zu einem großen Problem werden, wenn die einzelnen Animationsframes wirklich unterschiedlich groß sind. Es spricht prinzipiell erstmal nichts dagegen, dass die Frames unterschiedlich groß sind, aber der Spieler sollte von seiten der Spiellogik eine feste größe haben, sonst wirst du arge Probleme bekommen.