Schräge Ebene

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Schräge Ebene

    Hi,
    Erstmal vorab: ja ich weiß dies wurde hier im Forum wahrscheinlich schon öfters besprochen ich hab mir auch schon verschiedene Themen dazu angeguckt. Nur leider hab ich es bis jetzt nicht hingekriegt dass es bei mir auch Vernünftig funktioniert.

    Ich hab hier eine Schräge Ebene:
    Ich will nun einfach das mein Player ganz normal darauf laufen kann ohne das er stecken bleibt.
    Ich hab dazu irgentwo im Internet ein Script dazu gefunden:

    Spoiler anzeigen

    GML-Quellcode

    1. argument0=round(argument0)
    2. if(place_free(x+argument0,y))
    3. x+=argument0
    4. else
    5. {
    6. for(yup=0;yup<argument1;yup+=1)
    7. {
    8. if(place_free(x+argument0,y-yup))
    9. {
    10. x+=argument0
    11. y-=yup
    12. break;
    13. }
    14. }
    15. }
    Alles anzeigen


    Nur weiß ich leider nicht wie ich das Script jetzt richtig benutze bzw. ob es Überhaupt das richtige dafür ist.
    Ich wäre sehr dankbar wenn mir jemand erklären könnte wie ich das nun mache ob nun mit oder ohne script.

    MFG~
    Imagine taking your usual two century long nap minding your own business when suddenly some cunt wakes you up.
    You tell him to f*ck off of course but just when you finally managed to fall asleep again the same asshole comes knocking again. I'd attack that dick too.
  • Das Skript ist ziemlich gut dafür.
    Du musst dich dafür aber von dem Bewegungs-System des GM's verabschieden und ein eigenes aus zwei komponenten verwenden.
    Z.b. hsp für horizontale gschwindigkeit und vsp für vertikale geschwindigkeit.

    Zum horizontalen bewegen benutzt du dann das Skript in etwa so:

    GML-Quellcode

    1. script(hsp,6);

    Die Zahl beschreibt welche Steigung in einem Schritt bewegt werden darf.
    D.h. wenn die Schräge nach hsp pixeln um mehr als 6 Pixel nach oben geht, dann ist sie zu steil und kann nicht genommen werden.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • DragonGamer schrieb:

    Du musst dich dafür aber von dem Bewegungs-System des GM's verabschieden und ein eigenes aus zwei komponenten verwenden.
    Z.b. hsp für horizontale gschwindigkeit und vsp für vertikale geschwindigkeit.
    Das mit den eigenen Speed Variablen versteh ich noch nicht so ganz, die müssen ja auch irgentwie einen Wert bekommen, oder geht das durch das Script nun Automatisch?



    HIM666 schrieb:

    Die einfachste Möglichkeit eine schiefe Ebene ohne stecken zu bleiben wäre eigentlich die move_outside_solid bzw move_outside_all.

    Hab ich versucht, nur leider funktioniert es nur um die Ebene hinunter zu gehen und nicht hinauf.
    Spoiler anzeigen

    GML-Quellcode

    1. if(place_meeting(x,y,boden2))
    2. {
    3. move_outside_solid(90,5);
    4. }
    Imagine taking your usual two century long nap minding your own business when suddenly some cunt wakes you up.
    You tell him to f*ck off of course but just when you finally managed to fall asleep again the same asshole comes knocking again. I'd attack that dick too.
  • Hm, hab jetzt beide Methoden ausprobiert aber es funktioniert irgentwie nur um die Ebene hinunter zu gehen und nicht hinauf.

    Ich hab das hier ins Step Event des Spielers hinzugefügt:
    Spoiler anzeigen

    GML-Quellcode

    1. if(place_meeting(x,y,boden2))
    2. {
    3. scrMoveTerrain(hsp,18);
    4. }

    bzw.

    GML-Quellcode

    1. if(place_meeting(x,y,boden2))
    2. {
    3. move_outside_solid(90,18);
    4. }


    Jemand ne Ahnung warum das so ist?
    Oder hat jemand ne Ahnung auf was man sonst noch so achten muss?
    Imagine taking your usual two century long nap minding your own business when suddenly some cunt wakes you up.
    You tell him to f*ck off of course but just when you finally managed to fall asleep again the same asshole comes knocking again. I'd attack that dick too.
  • move_outside sollte man vermeiden. Die Funktion ist extrem langsam und die Entwickler selbst sagen, dass man davon die Finger lassen sollte.

    Um Ebenen runterzulaufen benutzt du die gleiche Methode wie beim Hochlaufen, allerdings fragst du beim Laufen ab, ob sich etwas weiter unten nicht eine Schräge befindet. Wenn ja, dann gehe entsprechend ein paar Pixel nach unten, wenn nicht, leite das Runterfallen ein.
    Je nachdem wie deine Engine programmiert ist, erledigt das Fallen das auch von selbst, indem es einfach nicht auf Fallanimation umspringt, wenn in einem "Fallschritt" bereits wieder der Boden erreicht wird.
  • Wäre vieleicht jemand so nett und könnte mir ein kleines Example dafür machen? Damit ich sehn kann wie es richtig funktioniert bzw. wo ich einen Fehler gemacht habe.
    Habs bis jetzt nämlich noch nicht hingekriegt, er geht die Ebene einfach nicht hoch X(

    MFG~
    Imagine taking your usual two century long nap minding your own business when suddenly some cunt wakes you up.
    You tell him to f*ck off of course but just when you finally managed to fall asleep again the same asshole comes knocking again. I'd attack that dick too.
  • Habs nach längerer Zeit wieder ausprobiert, es funktioniert jetzt
    einigermaßen, nur hüpft mein Player jetzt so komisch auf der Schrägen
    herum und manchmal funktioniert die Steuerung dann auch nicht mehr.

    Kann vieleicht jemand kurz drüber schauen und mir sagen wo der Fehler liegt?
    Dateien
    • game_t.zip

      (22,09 kB, 107 mal heruntergeladen, zuletzt: )
    Imagine taking your usual two century long nap minding your own business when suddenly some cunt wakes you up.
    You tell him to f*ck off of course but just when you finally managed to fall asleep again the same asshole comes knocking again. I'd attack that dick too.