Bei Kollision nicht stoppen, sondern "Streifen"
Übersicht

![]() |
faeXBetreff: Bei Kollision nicht stoppen, sondern "Streifen" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
im Anschluss an meinen letzten Post folgt hier meine nächste Frage: Ich habe es bereits geschaft (welch Leistung xD), dass ein Spieler, der mit einem Objekt kollidiert stoppt, oder zurückbounced. Das Stoppen und noch schlimmer das Bouncen sind Fun-Killer! Ich habe schon mehrere Ansätze ausprobiert, damit der Player an dem Objekt (konkreter: eine Wand) entlangstreift (wenn er ihn nur leicht streift, bewegt er sich nahezu mit der gleichen Geschwindigkeit in die selbe Richtung, wenn er frontal auf das Objekt zurast bleibt er stehen, wenn er im 45° Winkel zur Wand drauf zufährt, fährt er langsamer an der Wand zur Seite. So wie eine Kollision in Blitz3D, nur übertragen auf 2D ![]() Habt ihr Codebeispiele oder Ideen wo so ein Vorgang berechnet wird? Dankeschön ![]() EDIT: Hoppala... Das Ganze soll mit Draw3D(2) gemacht werden. Das Thema an sich gehört ja eigentlich in Blitz2D, aber mit Draw3D(2) ... |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also was soll jetzt genau passieren? Du zeichnest ein Objekt mit DrawImage3D ein, welches gegen eine Mauer oder einem anderem Objekt (DrawImage3D) kollidieren kann? Wenn ein Objekt nur gegen Wände fliegen kann, dann schaue dir mal Physix an, welches mit dem Draw3D V.3.2 -Paket enthalten ist. Damit könnte man es am einfachsten Lösen. Wenn allerdings die Objekte auch gegen andere bewegte Objekte fliegen können, dann wird das ganze unweigerlich komplizierter. Das kann je nach Anforderung auch schon so kompliziert werden, dass einem der Spaß an der Sache vergeht, wenn man es alles selbst machen will. Die einfachste Möglichkeit die ich dir anbieten kann ist, man berechnet nach einer Objektkollision den neuen Abprallwinkel eines jeden Objektes und fügt zu jedem einen neuen Drall ein.
Abprallwinkel kannst du vielleicht aus folgendem Code ableiten: https://www.blitzforum.de/foru...ollisionnx Drehmoment kannst du aus Codeteilen aus Physix ableiten. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
faeX |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nur zur Info:
Ich habe es jetzt so gemacht, dass einfach mein Spieler Schrittweise bewegt wird. Liegt keine Kollision vor, bewegt er sich. Wenn nicht, bleibt er stehen ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group