3 einfache Fragen

  • GM 8

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

  • 3 einfache Fragen

    Hallo,



    ich habe mich doch ein wenig mit GML beschäftigt und gleichzeitig auch ein wenig rumprobiert.

    Ich stecke wirklich noch in den "BABYschuhen", daher habt bitte bitte Nachsicht mit mir.

    Ich habe hier drei einfache Fragem für die ich, trotz intesniver Suche, keine Antwort finde:

    1. Links laufen und Links beliebn:

    Ich habe einen Sprite gemacht(einen Typen). Zu jedem Laufen nach links und Rechts habe ich eine Animation gemacht. Soweit, sogut.

    Doch wenn ich z.B. nach Links laufe und dann stehen bleibe(die Tasten nicht mehr betätige), dreht sich die Figur im Stand wieder nach Rechts.

    Wie kann ich es machen, dass die Figur immer in die Richtung blickt, in der ich zuletzt hingelaufen bin?

    2. Springen:



    Wie kann ich kann ich es machen, dass meine Figur springt? (Einfach aus dem Stand heraus)

    3. Solide Wände:



    ich habe Wände gemacht. Diese als Objekte in den Room eingefügt. Den Karken bei "Solid" gemacht. Außerdem "Collison to meine Figur".

    Dennoch läuft die Figur durch/unter den Wänden durch.

    Also habe ich mit den Aktionen rumprobiert und irgendwas da gemacht.

    Das nächste mal lief meine Figur nicht mehr durch die Wände, hang aber an den Wänden fest und ich konnte nicht mehr weg.

    Wie kann ich das Problem lösen?

    Ich danke sehr für Hilfe.
  • Das ist jetzt alles in GML

    Zu 1:
    Fürs Links gehen:
    Ins Keyboard Left pressed-Event kommt dass:

    GML-Quellcode

    1. sprite_index=spr_spieler_laufen_links //sprite_index setzt dass Bild,dass angezeigt wird
    2. image_speed=1 //image_speed Setzt die Geschwindigkeit,mit der die Animation abgespielt wird,auf 1

    Ins Keyboard Left-Event:

    GML-Quellcode

    1. if place_free(x-4,y) then //place_free(x-4,y) checkt ob in x-4 und y keine Kollision mit einen Soliden Objekt herscht.
    2. {
    3. x-=4 //X Position wird um 4 verkleinert
    4. }

    Und ins Keyboard Left realassed-Event:

    GML-Quellcode

    1. image_speed=0 //Setzt die Geschwindigkeit,mit der die Animation abgespielt wird,auf 0,also stoppen

    Fürs Rechts Gehen:
    Ins Keyboard Right pressed-Event kommt dass:

    GML-Quellcode

    1. sprite_index=spr_spieler_laufen_rechts //sprite_index setzt dass Bild,dass angezeigt wird
    2. image_speed=1 //image_speed Setzt die Geschwindigkeit,mit der die Animation abgespielt wird,auf 1

    Ins Keyboard Right-Event:

    GML-Quellcode

    1. if place_free(x+4,y) then //place_free(x+4,y) checkt ob in x+4 und y keine Kollision mit einen Soliden Objekt herscht.
    2. {
    3. x+=4 //X Position wird um 4 vergrößert
    4. }

    Und ins Keyboard Right realassed-Event:

    GML-Quellcode

    1. image_speed=0 //Setzt die Geschwindigkeit,mit der die Animation abgespielt wird,auf 0,also stoppen

    Zu 2:
    Ins Keyboard Up-Event:

    GML-Quellcode

    1. if not place_free(x,y+1) then //Herscht y+1 eine Kollision(durch not wird der Code ausgeführt,wenn dass ergebniss false ist)mit einem Soliden Objekt
    2. {
    3. vspeed=-12 //Vertikale Geschwindigkeit auf -12 setzen
    4. }


    Zu 3:

    Ins Kollisions-Event mit der Wand tust du:

    GML-Quellcode

    1. move_contact_solid(direction,0) //Lässt denn Spieler mit der Wand/Boden Kollidieren
    2. vspeed=0 //Muss auf 0 gesetzt werden,da es eine Gravitation gibt(siehe unten)

    Damit alles klappt,muss ins Step-Event noch:

    GML-Quellcode

    1. gravity_direction=270 //Gravitations Richtung auf 270 Grad setzen
    2. if place_free(x,y+1) gravity=0.5 //Ist y+1 frei,dann setze die Gravitatsionsstärke auf 0.5
    3. else gravity=0 //Ansonsten auf 0


    Ich hoffe du verstehst denn Code,wenn nicht,könnte ich dir ein Example mit Drag and Drop machen
  • Hey vielen Dank Jay



    ich habe jetzt nur nicht ganz verstanden, ob das grün geschriebene(hinter dem //) nur eine Erklärung von dir ist, oder, ob ich das genauso eintippen muß?

    Muß ich denn meinen Objekt- Menschen spr-spieler nennen und auch so abspeichern? Oder kann ich den meinen eigenen Namen geben?

    Wenn ich deine Nerven nicht überstrapaziere, wäre ich dankbar, für eine Drag and Drop erklärung.

    PS: ich habe es versucht mit dem Code, aber nicht hinbekommen. Also habe ich es mit den Aktionen versucht, mit dem Key Release Event. Hat aber auch nicht geklappt. Ich habe es nur hinbekommen, dass die Figur dann zwar nach links schaut, wenn ich die Tasten loslasse, allerdings läuft die Animation weiter.

    Mit den Wänden ist das auch komisch. Bei einigen Wänden klappt alles, bei den anderen beleibt die Figur hängen.
  • Jawoll, danke euch.

    @Jay

    Geil, echt vielen Dank dafür. Ich hab alles genauso gemacht, wie in deinem Drag `n Drop Beispiel beschrieben. (Aber ehrlich gesagt habe ich noch Schwierigkeiten das richtig nachzuvollziehen, allein hätte ich das nicht gepackt)

    Es funktioniert auch alles, bis auf folgendes:

    Wenn ich nach LINKS drücke, rauscht die Spielfigur wieder zum Startpunkt, das verstehe ich nicht. Ich habe alles verglichen und es stimmt alles wie in deinem Beispiel überein. Wo liegt der Fehler?
  • Benutzer online 1

    1 Besucher