Bomberman Klon - Tilekollision
Verfasst: Montag 27. Januar 2014, 21:53
Heipa mal wieder,
"arbeite" gerade an einem Bomberman Klon:
http://www.directupload.net/file/d/351 ... rn_png.htm
Grosse Mühe bereitet mir der Algorithmus bzgl. Tilecollision. An sich ja keine grosse Sache hab ich gedacht, aber das Problem ist, dass im Originalspiel der Char sich "um die Tiles herumbewegt". Ein Beispiel: Man läuft nach rechts und steht an einem Teil an. Dann wird der Char nach oben oder unten ausweichen, je nach dem, welcher Zwischenraum näher ist, wo er dann einfach weiter nach rechts laufen kann.
Das an sich ginge evtl. auch noch, aber es kommt noch übler..:
Im Original (sagen wir mal Bomberman II, SNES) läuft der Char, obwohl sein Sprite offenbar gleich gross ist wie die Tiles (16 x 16), zum Teil diagonal um die Tiles herum; er "schneidet die Kurve" sozusagen. Man kann dies gut beobachten (evtl. kurz in Juuutuuub ein Video zum Game anschauen).
...und es kommt NOCH übler...
Wenn man z.Bsp. RECHTS-UNTEN drückt aufm Controller, läuft der Char im Original ein Tile nach unten, eins nach rechts, eins nach unten... er wechselt sozusagen immer die Laufrichtung, weil der Player ja offenbar "diagonal" laufen möchte.
Jemand eine Idee, wie man all dies umsetzen könnte? Mein Char soll nicht diagonal laufen, also "Kurven schneiden" können; aber er sollte smooth um die Teils herumgehen, wenn man den Zwischenraum nicht ganz sauber ansteuert, und er sollte auch "diagonal" durch die Tiles laufen wenn der Player 2 Richtungen drückt, wie oben beschrieben. Die Rect Collisionsmethode an sich ist kein Problem und ich reduziere die Zahl der zu prüfenden Tiles anhand der Position des Spielers (max. 4 Tiles pro Frame müssen gerechnet werden). Dann den Spieler bei einer Kollision wieder "aus dem Tile zu drücken" ist kein Probelm, das hatte ich schon oft, aber dies löst mein Problem natürlich noch nicht ganz.
"arbeite" gerade an einem Bomberman Klon:
http://www.directupload.net/file/d/351 ... rn_png.htm
Grosse Mühe bereitet mir der Algorithmus bzgl. Tilecollision. An sich ja keine grosse Sache hab ich gedacht, aber das Problem ist, dass im Originalspiel der Char sich "um die Tiles herumbewegt". Ein Beispiel: Man läuft nach rechts und steht an einem Teil an. Dann wird der Char nach oben oder unten ausweichen, je nach dem, welcher Zwischenraum näher ist, wo er dann einfach weiter nach rechts laufen kann.
Das an sich ginge evtl. auch noch, aber es kommt noch übler..:
Im Original (sagen wir mal Bomberman II, SNES) läuft der Char, obwohl sein Sprite offenbar gleich gross ist wie die Tiles (16 x 16), zum Teil diagonal um die Tiles herum; er "schneidet die Kurve" sozusagen. Man kann dies gut beobachten (evtl. kurz in Juuutuuub ein Video zum Game anschauen).
...und es kommt NOCH übler...
Wenn man z.Bsp. RECHTS-UNTEN drückt aufm Controller, läuft der Char im Original ein Tile nach unten, eins nach rechts, eins nach unten... er wechselt sozusagen immer die Laufrichtung, weil der Player ja offenbar "diagonal" laufen möchte.
Jemand eine Idee, wie man all dies umsetzen könnte? Mein Char soll nicht diagonal laufen, also "Kurven schneiden" können; aber er sollte smooth um die Teils herumgehen, wenn man den Zwischenraum nicht ganz sauber ansteuert, und er sollte auch "diagonal" durch die Tiles laufen wenn der Player 2 Richtungen drückt, wie oben beschrieben. Die Rect Collisionsmethode an sich ist kein Problem und ich reduziere die Zahl der zu prüfenden Tiles anhand der Position des Spielers (max. 4 Tiles pro Frame müssen gerechnet werden). Dann den Spieler bei einer Kollision wieder "aus dem Tile zu drücken" ist kein Probelm, das hatte ich schon oft, aber dies löst mein Problem natürlich noch nicht ganz.