Kollsion richtig wechseln?

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

  • Kollsion richtig wechseln?

    Hallo,

    ich habe ein Problem und ich weiß leider nicht, wie ich das genau lösen kann,

    Ich versuche eine Kollisionsänderung des Spielers umzusetzen, dies lässt sich auch teilweise gut umsetzten,
    Allerdings gibt es das Problem, daß wenn der Spieler am Rand steht und seine Kollision verändert sich bleibt der Spieler mit der neuen Kollision in der Wand stecken.

    Am schönsten wäre es ja, da es sich wirklich oft nur um Pixel handelt, das er sich daraus schiebt, also von dem Rand rausgedrückt wird. (Ich hoffe, Ihr wisst so ungefähr was ich meine)

    Aber vielleicht habt Ihr eine Idee?

    Gruß
    Luk45
  • Generell lohnt es sich solche Situationen einfach zu vermeiden.
    Wenn es sich wirklich nur um ein paar pixel handelt,
    sollte man darüber nachdenken eine seperate collision_mask
    einzusetzen welche unverändert bleibt. Wenn es wirklich auf
    die Form ankommt musst du dafür sorgen das es nicht zu dem
    Fall kommt:
    Du Kannst die collision_mask zum neuen Sprite wechseln,
    dann testest du mit einer Funktion wie place_meeting() ob eine
    Kollision vorliegt, wenn nicht, kannst du das sprite wechseln
    und die mask behalten.
    Wenn es jedoch nun eine Wand etc treffen würde, dann darfst
    du entweder die Transformation nicht erlauben, oder du
    versuchst den Spieler von der kollidierenden Instanz fortzubewegen,
    zB mit den lengthdir_x()/lengthdir_y() Funtionen.
    Nicht vergessen die Maske ansonsten wieder zur alten zu wechseln.
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel:
  • Benutzer online 1

    1 Besucher