frage zur depth

  • GM 8

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

  • frage zur depth

    Heyho
    mal ne frage, ich möchte ein objekt mit zwei unterschiedlichen depth werten, heißt das sprite soll einen andern depth wert haben als z.b ein von dem objekt erzeugten circle

    so folgendes experiment:

    GML-Quellcode

    1. depth = 0
    2. draw_sprite(sprite_index,image_index,x,y)
    3. draw_text(10,5,depth)
    4. depth = -10
    5. draw_circle(x,y,50,1)
    6. draw_text(10,20,depth)


    ich habe ein schwarzes objekt das den oberen code im draw_event stehen hat
    und ein grünes objekt als test objekt mit dem depth wert -5,
    das gewünschte ergebnis wäre, das die schwarze box hinter der grünen ist und der schwarze kreis vor der grünen box ist.

    das ergebis:


    kann es sein das das draw event erst komplett abgearbeitet wird bevor überhaupt was angezeigt wird? obwohl das ja ein wiederspruch mit dem ersten draw_text wäre
    pls help
    oder gibts ne andere möglichkeit das ganze zu realisieren?((in einem objekt)
    Mein aktuelles Projekt: Twiggels Tower Defence :para: :shifty:
    Mittlerweile: Green and Grey
  • Du verstehst da etwas grundlegendes falsch!
    Die Depth legt lediglich fest, in welcher Reihenfolge die Draw-Events ausgeführt werden.
    Änderst du also in einem Draw Event die Depth, wird lediglich die Variable geändert, nicht die "Höhe" des Gezeichneten.

    - Tobi97
    8|
  • Doch, das geht. Das Draw-Event folgt einer ganz simplen Regel: Was zuerst kommt, wird auch zuerst gezeichnet.
    Das bedeutet, wenn du dein Sprite über einem Kreis zeichnen lassen willst, zeichne einfach zuerst den Kreis und dann das Sprite. Fertig ist die Laube.

    Oder, als Codebeispiel:

    GML-Quellcode

    1. draw_circle(foo,bar,blubber);
    2. draw_rectangle(noch,mehr,parameter);
    3. draw_self();


    Das Ergebnis: Das Sprite erscheint über einem Rechteck über einem Kreis.
  • Wenn du die depth an einem Object verändern willst, so dass sie aber auch wirklich wirkt,
    versuch die depth wenn dann im "End Step" Event zu verändern.

    Ich hab sehr lange nach dieser Lösung gesucht. Und aus irgendeinem Grund funktioniert das
    auch. Klar, das wirkt sich erst im nächsten Draw Event aus, aber das geht so schnell, dass
    man das garnicht merkt. Wenn du denn das gesucht hast :p


    mfg
  • Benutzer online 2

    2 Besucher