Problem mit Ebenen/ Depth

  • GM 8

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

  • Problem mit Ebenen/ Depth

    Hallo zusammen,
    also bin neu hier, und in der Game-Maker Welt :D
    Es ist hier alles super erklärt und so, und es gibt auch paar Toturals die ich mir schon angesehen habe, so anfänger Sachen für den GM.v.8.0.. Jedoch verstehe ich das irgendwie nicht oder bin zu blö*d dafür meinen Karakter so zu "programmieren" dass er hinter ein Objekt gehen kann z.B. einen Baum. Das mit den Ebenen habe ich auch schon gemacht... dass nur der Stamm berührt werden kann.. die Blätter und Äste sollen dann einfach meinen Karakter überdecken... habe es mit *Depth***Variable: -y* gemacht und die gleiche variable dann bei meinem Karakter und der hat die Maske bei seinem Schatten...??? also so habe ich es bei dem Totral rauslesen können... jedoch klappt es iwie nicht wirklich.. ?(
    MfG
    Stas 8)


  • und wie stelle ich das an?

    Edit: habe die Variable schon eingegeben wenn er mit dem Baum kollidiert, dass er den Depth des Baumes annimmt, aber wie schreibe ich dass er unter dem des Baumes ist?
    MfG
    Stas 8)


    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ☼☼☼★ŞŧΔŞ★☼☼☼ ()

  • Hast du auch dran gedacht das Offset/die Origin des Charakters mittig in seinen Schatten zu stellen, und bei dem Baum mittig bei dem Stamm unten?
    Ansonsten ist das Offset standartmäßig immer oben links und somit ist die Y-Variable des Baumes auch über den Ästen, was dafür führen würden das falls der Charakter unter den Baum ist, die Y-Variable des Baumes über den Spieler ist, und somit -Y des Baumes auch tiefer als -Y des Spielers ist.

    Die Origin / Das Offset kannst du bei den Sprites einstellen, einfach auf das Sprite links in der Liste einen Doppelklick machen, und rechts in den Aufgehenden Fenster auf "Center" drücken, du siehst wie im Bild das "Fadenkreuz" in die mitte des Bildes wandert. Stelle dort nur noch den Y-Wert um, so das es beim Charakter in der Mitte des Schattens ist, und beim Baum in der Mitte der unteren Stammes hälfte die der Spieler umlaufen können soll. Den X-Wert brauchst du nicht mehr ändern, da dieser nach drücken auf "Center" ja mittig ist.

    Noch schnell ein Zitat:
    Depending on an instance's depth, it will be drawn in front of or behind other instances. Instances with a higher depth are drawn first and instances with a lower depth are drawn later. Thus, those with a higher depth appear behind those with lower depth.

    aus gamemaker.wikicomplete.info/gml:depth


    Danach sollte es problem los gehen.
    Ich hoffe und denke das war dein Fehler, hört sich zumindestens so an.

    Gruß,
    Mokuyobi.
    木曜日 (Mokuyōbi)
  • Wenn du die Depth bei einem Objekt erhöhst, dann heißt das, dass das Objekt hinter den Objekten zu sehen ist, welche eine niedriegere Depth haben.

    Also Beispiel:
    Ein Objekt a hat die depth = -5 und ein Objekt b hat die depth = 1 --> Objekt a sieht man vor Objekt b, weil b eine höhere Depth hat.

    Hoffe das konnte helfen.

    Albert Einstein schrieb:

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
  • Also iwie will es einfach nicht funktionieren... :pinch:
    Für den Baum habe ich den Depth -2 eingestellt wenn er erscheint.
    maske vom baum:
    Spiriteinstellungen:

    dann vom player...
    Spirit:
    Maske:
    Objekt einstellung:

    Das mit dem Spalten vom Baum wäre ne überlegung wert.. aber es müsste doch auch mit dem depth funktionieren?
    MfG
    Stas 8)


  • Versuch mal, anstatt Zentriert, die Origin des Spieler tiefer zu setzten, und die depth = -y zu stellen. Bei der Variable Depth=-y zu setzten ist deswegen sinnvoll, da du dann immer die vertikale Ebene des Objektes benutzt. Befindet der Spieler sich am Fleck (32|100) und der Baum bei (32|90) so ist die Detph des Baumes -90 und die des Spieler -100, demnach wird der Baum zuerst gezeichnet und der Spieler später, was den Effekt hat, das jene Sprite auch über den Baum steht.

    Deine BBox (also die Mask) des Baumes ist recht okay, genau so wie die Origin des Baumes, eingestellt.
    Die BBox des Spieler ist auch noch gut eingestellt, jedoch befindet sich die Origin des Spieler darüber -> das hat den Effekt, das der Spieler zwar bis zu den Füßen vor deinen Baumstamm laufen kann, jedoch da die Origin höher ist, befindet sich die Y-Variable des Spielers höher.

    Versuche also einmal folgendes:
    • Die Depth bei jeden Step (also am besten im Step-Event) = -y zu setzten (bei am besten jedem Objekt, zu Test zwecken ob es das ist was du meinst, würde aber nur beim Spieler und beim Baum das erstmal reichen).
    • Stelle die Origin des Spieler Sprites tiefer, sie sollte sich in deiner Mask befinden, und zwar ziemlich mittig (beim Baum am besten auch).
    Dann sollte dies eigentlich funktionieren. Das gleiche ist beim Baum, die Origin sollte sich recht mittig in der Mask befinden.
    Ich kannte mal ein Tutorial für genau solch ein RPG-Artiges Spiel, finde dies leider nicht mehr.

    Das sollte eigentlich das Problem lösen.

    Edit:
    Dazu musst du den Baum in 2 Objekte Spalten.

    Einmal Stamm, einmal Baumkrone.
    Warum denn das? Man braucht dafür doch nicht zwei Objekte, soweit ich das gelernt habe, reicht es das Offset/den Ursprung/die Origin einfach zentriert der Mask einzustellen. Das sollte eigentlich Funktionieren, da je nach Fall dann der Spieler einen größeren/kleineren -y Wert hat, je nachdem ob er sich über den Ursprung des Baumes oder unter diesem befindet. Und je nach Fall wird dieser dann hinter oder vor dem Stamm gezeichnet, ohne dazu extra ein zweites Objekt zu verwenden.

    Gruß,
    Mokuyobi.
    木曜日 (Mokuyōbi)