XNA C# - 2D-Plattform-Spiel
Ich versuche zu machen (Abbildung heraus, wie..) ein 2d-platformer, in XNA.
Ich weiß, wie man ein tile-raster und zur Durchführung der Kollisionserkennung.
Ich erkennen Sie eine Kollision auf den 9 umgebenden Fliesen der Spieler, aber ich würde gerne wissen ob es einen besseren Weg, um erkennen Sie eine Kollision.
Ich gelesen habe, Flechte nicht mit Fliesen, sondern gestückelt Bilder oder sowas, wie kann Sie durchführen der Kollisionserkennung für diese? und ist das besser, als mit Fliesen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt, Sie haben nichts dagegen, mit einem Drittanbieter-tool, um den Großteil der Arbeit für Sie, können Sie besser dran mit so etwas wie Box2D für C#.
http://www.box2d.org/
http://code.google.com/p/box2dx/
Diese Bibliothek wird Ihnen die Kollisionserkennung und Physik-Fähigkeiten.
Wenn du gehst, für einen retro-Stil, dann ist es sicherlich in Ordnung, verwenden Sie Fliesen! Allerdings, wenn Sie etwas mehr "modern", dann können Sie gehen mit einem eher konventionellen Physik-engine. Farseer Physics ist ein großer Motor, und einige Menschen haben es verwendet, um Jump ' N ' runs. Es basiert auf Box2D und ähnliche Motoren, bietet aber eine einfachere API und einige einzigartige features wie textur-geometrie) und ich selbst kann bezeugen, es ist Nettigkeit gespielt zu haben, um mit ihm ein bisschen.
Benötigen Sie wahrscheinlich ein bisschen mehr als die collision detection für ein Spiel wie Braid. Ich würde davon ausgehen, dass Sie müssen auch eine Physik-engine. Ich würde empfehlen, dass Sie werfen Sie einen Blick auf Farseer Physics engine, die 2D-engine, die sehr gut funktioniert mit XNA. Es unterstützt eine Reihe von verschiedenen Techniken zur Kollisionserkennung.
Haben Sie überprüft, die Beispiele im Zusammenstoß-serie auf der XNA creators club, insbesondere die pixel-Kollision Probe?