Höchstes Objekt unter dem player

  • GM 8

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

  • Höchstes Objekt unter dem player

    Hi
    Ich mach grad ein 3DJump'n Run Game und da der Game Maker keinen richtigen Schatten machen kann(glaube ich)wollte ich einen eigenen machen.
    Ich wollte Fragen wie der Schatten immer auf den höchsten Block unter dem Player geht.
    Also auch wenn mehrere Blöcke übereinander sind, dass er dann den höchsten unter dem Player nimmt.
    Ich hoffe ihr wisst was ich meine , aber wenn nicht dann schreibt's mir.
    Freu mich auf antworten
  • Also wenn du z.B. ein obj_schatten, sollte es folgendes im (End) Step Event tun:

    GML-Quellcode

    1. x = obj_player.x;
    2. y = obj_player.y;
    3. move_contact_solid(270, -1);
    Wenn dir die Funktion nicht bekannt ist, schlag sie nach.
    Ein netter Effekt wäre übrigens, den Schatten kleiner zu machen, je weiter weg er ist ^^
  • Copy dachte wohl es geht um ein 2D Jump'n'Run.
    Kann dir auf die schnelle mit keinem Code dienen.
    Aber spontan würde mit place_meeting() auf "all" prüfen und die Z Koordinate in eine Variable zb. "zschatten" speichern, sofern der Wert höher ist, als der bereits vorhandene.
    Damit sollte immer der höhste Z Wert aller Objekte mit denen der Spieler kolidiert in besagter Variable vorzufinden sein.
  • Zitat von TrunX:
    Aber spontan würde mit place_meeting() auf "all" prüfen und die Z Koordinate in eine Variable zb. "zschatten" speichern

    Ich habs zwar schon so ähnlich gemacht aber auf die Idee mit zschatten zu kommen bin ich noch net gekommen, ich probiers mal.
    Und falls das nicht geht dann versuch ich mal das von Copyboy (meinst du damit das der player unter sich das nächst oberste Objekt sucht und dort den Schatten hinsetzt?)
    Es fuzt noch nicht ganz ich schreib mal auf wie ichs gemacht hab:
    obj_Schatten:

    GML-Quellcode

    1. //step event
    2. x=obj_Typ.x
    3. y=obj_Typ.y
    4. z=obj_floor.z+1
    5. direction=obj_Typ.direction
    6. //collision with obj_Block
    7. if other.zfloor=1{z=other.height+1}

    obj_Block:

    GML-Quellcode

    1. //step event
    2. zfloor=1
    3. if height>obj_Typ.z+1{zfloor=0}
    4. with instance_position(x,y,obj_Block){if height<obj_Typ.z+1 {if height>other.height{other.zfloor=0}}}

    Ja und ich hab euch noch nicht gesagt das das Spiel eigentlich ein Editor ist, also dort werden die Blöcke nicht alle gleichzeitig gebaut. Und jetzt hab ich noch ein Problem, wenn ich einen Block Baue und dadrüber mehrere Blöcke nach unten Baue(aber immer noch über dem Block), dann geht der Schatten nicht mehr auf den obersten Block wo der Typ steht.
    Bei mir funzen die Bilder irgendwie nich wenn mir jemand sagt wie das geht kann ich euch ein Bild zeigen!
    Und schicken kann ich das Spiel auch nicht denn die Datei ist zu groß

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