Kollision an Schrägen

  • GM 8
  • Kollision an Schrägen

    Hiho liebes Board.
    Ich bin neu hier und habe auch gleich eine Frage. Zur Zeit arbeite ich an einem Schulprojekt mit dem GM8. Ziel ist ein hübsches JumpnRun Spiel.
    Nach eklig langem Googlen und frustrierenden Codes auf englisch, frage ich besser euch, da das Projekt in 2 Wochen fertig sein muss.
    Nun zur Frage.

    Ich habe eine Spielfigur, eine solide Fläche und einen Hintergrund. Die Figur bewegt sich soweit ganz gut. Nur wenn die Spielfigur mit der Fläche kollidiert, an der sie nicht gerade verläuft, steckt man fest und kann sich nur durch springen heraushelfen.
    Um sich das ganze besser vorstellen zu können, habe ich das ganze einmal aufgenommen. (Flashplayer benötigt)
    dl.dropbox.com/u/2935685/Foren/gm_collisionfail.swf
    Ist es möglich die Spielfigur an den Kanten hochlaufen zu lassen?
    Hoffe ihr versteht was ich meine. (Verzeihung für Rechtschreibfehler, sehr müde gerade)

    Grüße,
    Luna
  • hi,
    also ich geh jetzt einfach mal davon aus, dass du gml nutzt und nicht drag & drop.
    am besten prüfst du immer einen pixel unter deinem spieler, ob sich da ein bodenobjekt befindet.
    du solltest am besten, falls du das noch nicht hast, ein parentobject für die böden machen.
    dann schreib einfach ins step event

    GML-Quellcode

    1. if place_meeting(x,y+1,<parentobject für boden>)
    2. {
    3. move_outside_solid(<direction>,<maxDist>)
    4. }

    wobei du als direction 90 verwenden solltest.
    für maxDist würd ich jetzt z.b. 10 nehmen. aber das kannst du ja testen, welcher wert dir da am besten passt.
    könnte auch sein, dass in move_outside_solid() direction und maxDist vertauscht sind, hab die funktion gerade nicht genau im kopf.

    ich hoffe ich konnte dir helfen.
    mfg
    HIM

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von HIM666 ()