Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

28.06.2013, 09:48

Collision Detection in 2D Jump'n'Run

Hallo zusammen.

Ich bin Informatiklernende im 1. Lehrjahr (kann praktisch noch nichts) und wir programmieren zur Zeit mit Visual Studio und C# ein Game. Ich habe mich dabei für ein 2D-Jump'n'Run entschieden.
Meine Welt sieht so aus: Das Männchen läuft durch eine Welt (der Hintergrund bewegt sich, das Männchen bleibt am Ort) und es generieren sich laufend random Hindernisse, auf und über die er springen muss. Jedoch bringe ich keine Collision Detection mit den Hindernissen hin.
Als Hilfe nutzen wir dieses Tutorial:
http://xbox.create.msdn.com/en-US/educat…dgame/collision

Dies hat mir aber nicht weitergeholfen, bzw. es funktioniert nicht.

Kann mir bitte jemand helfen?
Danke im Voraus :)

Liebe Grüsse,
Michelle

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

28.06.2013, 10:06

Was genau funktioniert denn nicht?
Hilfreich ist dabei immer, wenn man die Rects, die bei der Kollisions-Prüfung verwendet werden, mit zeichnen lässt, damit man sieht, ob sie auch an den richtigen Stellen sind.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

3

28.06.2013, 12:41

Eine Möglichkeit ist wie BlueCobold sagt, dass die Rechtecke an einer falschen Position sind, möglicherweise sind die Dimensionen des Rechtecks auch einfach falsch. Das kannst du einerseits sehen, wenn du die Dinger renderst. In solchen Fällen hilft dir der Debugger aber auch schnell weiter. Einfach einen Breakpoint vor die Kollisionsabfrage setzen und noch mal die Daten überprüfen. Möglicherweise ist deine Behandlung der Kollision aber auch falsch. Das heißt, die Kollision wird richtig erkannt aber nicht richtig aufgelöst. Das kannst du auch mit dem Debugger testen. Einfach einen Breakpoint ins innere deines if-Blocks setzen und gucken ob der Bereich vielleicht doch aufgerufen wird.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Werbeanzeige