Objekt umgehen

  • Objekt umgehen

    Hey hab da schon wieder ein Prob und die Sufu spuckt nicht wirklich was aus

    ich will einfach das ein objekt um ein objendkt rumgeht und dann weiter seinen "undefinierten" weg

    hab versucht das mit dem D´n´D hinzukriegen aber irgendwie hmmm ....

    ich weiß auch ned was ich da coden sollte

    also was ich mir denken kann ist ..wen er zum beispiel hochläuft .. und das object noch 2 px weg ist das er dann die x/y koordinate speichert und dann ein "U" geht und auf diese x/Yposition fährt ..

    mhh aber so richtig weiter hilft mir das leider auch ned
  • Hmm. Du kannst doch "Test Object" machen, da das Objekt um das er rum soll eingeben und dann einen Pfad machen.
    Das Ganze noch je nach Richtung bzw. Sprite (if sprite_index =).

    Zumindest würde ich es so machen ;) Aber bin ja noch ein Anfänger und bin mir deshalb auch nicht ganz sicher ob das so funktioniert.

    //EDIT:
    Oh, henrik1235 war wohl schneller :) (und eleganter...)

    Still wating for Game Maker iPod Edition...
  • Wo?
    Bei wem?

    Also bei mir definierst du für jede Richtung einen Pfad, der um das Objekt "Block" herumführt.
    Dann führst du, wenn das Objekt um das herumgegangen werden soll direkt vor dir ist (Test Object) ein Skript aus:
    if sprite_index = nach_oben
    path = nach_oben_rumlaufen

    Wenn es "neben" dir ist (du nach links läufst)
    if sprite_index = nach_links
    path = nach_links_rumlaufen

    Das is Quatsch...
    Das Ganze sollte eher diese Struktur haben:

    Objekt
    |-On Step
    |--Test Objekt "Block" X 0 Y -1
    |---Path Rechts_rumlaufen
    |
    |--Test Object "Block" X 0 Y 1
    |---Path Links-_rumlaufen
    |
    |--Test Object "Block" X 1 Y 0
    |---Path Unten_rumlaufen
    |
    |--Test Object "Block" X -1 Y0
    |---Path Oben_rumlaufen

    Still wating for Game Maker iPod Edition...

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

  • was du auch nutzen könntest wäre das "bewegungsgitter"

    würde in etwa so aussehen
    im createevent eines kontrollobjektes für das gitter

    GML-Quellcode

    1. global.grid = mp_grid_create(startpunkt_links,startpunkt_oben,anzahlDerZellenInX-Richtung,AnzahlDerZellenInY,zellenbreite,tellenhöhe)


    im createevent aller objekte die umgangen werden sollen

    GML-Quellcode

    1. mp_grid_add_instances(global.grid,id,1)


    in dem objekt welches um die hindernisse rumlaufen soll

    GML-Quellcode

    1. path = mp_grid_path(global.grid,startpunktX,startpunktY,zielpunktX,zielpunktY,1oder0) //die 1 oder 0 bedeuten ob diagonale bewegungen erlaubt(1) oder verboten(0) sind

    mit dieser funktion wird ein path durch das gitter erstellt. dieser heißt in dem fall jetzt path (am besten du erstellst vorher ienen leeren path mit dem namen den du dann benutzen willst, hab ich zumindest immer so gemacht)
    dann musst du nurnoch den path zuweisen und dein spieler nutzt diesen
    das einzige problem was jetzt noch sein kann ist, dass du dir überlegen musst, wie du das am geschicktesten einbaust, dass der path nur dann errechnet wird, wenn du dich einem objekt näherst. da du ja meinstest, dass das objekt nach dem hindernis wieder "frei" laufen soll.

    mfg
    HIM