Collisions fehler

  • GM 7
  • Collisions fehler

    Guten Tag

    Ich erstelle grade (wie warhscheinlich soviele) ein kleinen Zelda "Clone". Ja ich weiss es gibt 1000 Enignes die schon vieles beinhalten aber, ich möchte gerne alles selber schreiben. Vieles funktioniert schon, aber ein kleiner fehler bringt mich schon lange um den schlaf.

    Ich habe ein problem bei der bewegung des Players. Die bewegung klappt ganz gut, doch wenn ich jetzt einem object zu nahe komme funktionier die Collision aber ich komme dann von diesem object nicht mehr weg. Sprich der held bewegt sich dann nicht mehr ...

    Hier mal mein Code

    GML-Quellcode

    1. //Normal Walking
    2. if global.player_running && !global.player_rolling
    3. {
    4. if global.player_facing=='D' && place_free(x,y+1){sprite_index=sprLinkRunD; y+=global.player_walkspeed}
    5. if global.player_facing=='U' && place_free(x,y-1){sprite_index=sprLinkRunU; y-=global.player_walkspeed}
    6. if global.player_facing=='L' && place_free(x-1,y){sprite_index=sprLinkRunL; x-=global.player_walkspeed}
    7. if global.player_facing=='R' && place_free(x+1,y){sprite_index=sprLinkRunR; x+=global.player_walkspeed}
    8. }else if !global.player_rolling
    9. {
    10. switch (global.player_facing)
    11. {
    12. case 'D': sprite_index=sprLinkStandD break;
    13. case 'U': sprite_index=sprLinkStandU break;
    14. case 'L': sprite_index=sprLinkStandL break;
    15. case 'R': sprite_index=sprLinkStandR break;
    16. }
    17. }
    Alles anzeigen
  • Wäre vielleicht mal ein Ansatz: hast du in den Sprites des Helden und der "Gegenstände an denen er hängen bleibt" eine colision-box eingestellt? Sonst könnte es sein, dass nur ein Pixel in der Mitte des Sprites abgefragt wird, du in das Ding "reinläufst" und es für das Spiel so aussieht als wärst du "umzingelt"....