Bei allen Solid-Objekten stoppen

  • GM 8

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

  • Bei allen Solid-Objekten stoppen

    Hallo. Ich war schon mal schlauer was GM angeht, aber da ich sehr lange nichts mehr gemacht habe, fange ich quasi wieder bei 0 an...

    Meine Frage ist: Wie kann ich erreichen dass mein Objekt (ein sich bewegendes Männchen) bei allen Wänden , also solid-Objekten , stoppt.

    Ich will nämlich nicht für jedes Objekt das einzeln einstellen müssen.

    Grüße vom Paule
  • Ich weiß zwar nicht wie du dein Männchen bewegst (über hspeed/vspeed oder manuell), aber es sollte folgendermaßen klappen:

    GML-Quellcode

    1. if(!place_free(x+5,y))//Wenn rechts nicht frei ist
    2. hspeed = 0;//dann stoppe. Genau so für links, oben und unten
    3. if(!place_free(x,y-5))//Wenn oben nicht frei ist
    4. vspeed = 0;


    Deine Wand-Objekte müssen halt solid sein.
    Hoffe das hilft.

    MfG

    Albert Einstein schrieb:

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
  • aslo fals es solid ist, hatte ich da mal einen praktischen code...
    *such such such*
    :rage: :rage2: :rage2:
    jetzt zahlts sich heim das ich meine dateien immer an komischen orten speicher :(

    10 min später (ja ich hab solange gesucht :wacko: )
    AHA

    GML-Quellcode

    1. //nach links bewegen
    2. move_contact_solid(90,10);
    3. move_contact_solid(0,4);
    4. move_contact_solid(270,10);
    5. //nach rechts bewegen
    6. move_contact_solid(90,10);
    7. move_contact_solid(180,4);
    8. move_contact_solid(270,10);


    weiß nicht ganz ob das klappt aber falls: damit kann man auch schrägen machen :D
  • Der Code von Hellfish funktioniert soweit... allerdings gibts da ein paar weitere Probleme, die aber daran liegen, dass mein Spiel eine isometrische Ansicht haben soll. Das heißt z.B., dass meine Spielfigur vor einem Objekt stoppt, aber hinter einem Objekt verdeckt vorbeilaufen kann. Versteht ihr was ich meine :D ? Das bekomme ich bisher nicht so wirklich hin.