Objekt Parent

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

  • Objekt Parent

    Hallo zusammen,
    ic bräuchte eure Hilfe. Undzwar will ich ein Objekt namens laser_main erstellen. Dieses soll dann 2 weitere Objekte erstellen (laser1; laser2) die dauerhaft an der Position von laser_main "kleben". Ich stelle mir etwas ähnliches vor, wie im Step event einen code:

    GML-Quellcode

    1. x = parent.x


    .. oder so ähnlich. (Quasi die x Position des ersteller Objektes (ist das verständlich was ich mein??) ).
    Habe zuletzt vor 5 Jahren mit Game Maker gearbeitet und dort hatte ich solch eine Funktion.

    Der eigentliche Grund, warum ich so ein Objekt erzeuge ist, um einen Sprite hinter der Spielfigur zu zeichnen. Und einen vor der Spielfigur. Habe irgendwo gelesen, das es im Draw event keine draw_sprite (incl depth) gibt.

    Würde mich über Antworten freuen

    Grüße :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Yohsi ()

  • Im Object Editor kannst du ein Object als parent definieren, einfach das Häkchen bei Parent setzen.

    GML-Quellcode

    1. //END STEP EVENT
    2. x = obj_parent.x

    Macht dann das was du willst. Dazu muss das Object nicht als parent definiert sein, aber das kommt drauf an was du noch so mit dem parent vor hast.

    Und die depth kannst du soweit ich weiß nur im Step Event verändern, nicht im Draw Event, aber da bin ich mir nicht ganz sicher.

    out now: KNOSSOS auf itch.io
    ancient-pixel.com <<< ich freue mich über einen Besuch! ^^
  • Das klappt leider nicht. Damit würde ich ja lediglich ein Objekt erzeugen können. Aber ich will mehrer "laser_main" spawnen.
    Jedes dieser Laser_main objekte soll jetzt ein weiteres objekt erzeugen, welsches ständig auf der gleichen X,Y Position liegt, wie dass, welches es erzeugt hat.

    Laser_main Create:

    GML-Quellcode

    1. instance_create(x,y,laser)


    Laser Step:

    GML-Quellcode

    1. x = x.??? // Bzw. parent oder so.. gibts da keinen befehl für das "creater" objekt??

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Yohsi ()

  • Das werden aber dann ordentlich viele Laser objecte sein.

    laser main create

    GML-Quellcode

    1. child = instance_create(x,y,obj_laser)
    2. child.parent = id;//id ist die id vom laser main, auf die kann dann vom laser zugegriffen werden

    wenn der code dann auch vom laser selbst ausgeführt wird um ein weiteres laser object zu erzeugen ist die id dann das vom erzeigendem object und es bildet sich diese Kette von childs und parents

    laser step

    GML-Quellcode

    1. x = parent.x



    wenn du nicht unbedingt viel einzelne laser objects brauchst würde ich die empfehlen die laser nur drawen zu lassen und mti collision_line die collisionen zu handlen.

    out now: KNOSSOS auf itch.io
    ancient-pixel.com <<< ich freue mich über einen Besuch! ^^
  • Kein Problem :)

    nein, das kann auch inst. oder abc. heißen. Das ist nur eine temporäre Variable die solange du etwas zuweist existiert und dann wieder aus dem speicher gelöscht wird.

    out now: KNOSSOS auf itch.io
    ancient-pixel.com <<< ich freue mich über einen Besuch! ^^