Kollision auf eine bestimmte Stelle des Objektes

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

  • Kollision auf eine bestimmte Stelle des Objektes

    Ein Objekt, dass sich im Raum nach rechts bewegt. Als Hindernisse sind Blöcke verteilt. Ich bekomme das nicht hin, abzufragen was passiert, wenn das Objekt gegen ein Block fliegt. Es darf den Block von unten und oben berühren, aber nicht seitlich. Habe es schon mit unterschiedlichen Methoden versucht. Auch collision_point hat nicht geklappt. Bei mir funktioniert das nur, wenn ich den Code mit move contact weg lasse, aber den brauche ich, weil das Objekt sonst theoretisch durch fliegen könnte.
  • Solche collisionen kannst du mithilfe von xspeed unterscheiden.

    GML-Quellcode

    1. if place_meeting(x+xspeed,y,obj_wall)
    2. {
    3. //collision
    4. }
    5. else
    6. {
    7. //nocollision
    8. }

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)
  • Zum ersten, ehrlich gesagt weiß ich nicht, was XSpeed ist bzw wie ich das bestimmen soll. Bei dem selben Code habe ich anstattdessen etwa x+6 und x+8 hingeschrieben (anders geht es nicht) und eine 2. dünne Wand am Rand über die Blöcke gesetzt und dort den Event hinzugeordnet. Das klappt leider nur, wenn ich die Kollision einpaar x davor passieren lasse und das sieht halt nicht so gut aus.

    Und das zweite funktioniert nicht.
  • Ich habe meinen eigenen Sterbe Script den rufe ich in deinem Code auf. Aber es passiert nix, nur dass ich wie üblich an den Blöcken hängen bleibe. Was aber nicht an den Script liegt, da es funktioniert, wenn ich nur diesen Code benutze.

    Ich benutze GM 8.

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