Enemy Knockback

  • GM 8

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

  • Enemy Knockback

    Hallo Leute,
    Ich versuche momentan einen guten Knockback zu machen nur leider funktioniert dieser nicht umbedingt gut. Mein alter Knockback sieht so aus:

    GML-Quellcode

    1. if other.x < x
    2. {
    3. x += 16
    4. }
    5. else
    6. {
    7. x -= 16
    8. }
    9. if other.y < y
    10. {
    11. y += 16
    12. }
    13. else
    14. {
    15. y -= 16
    16. }
    Alles anzeigen

    Dieser ist sehr einfach und nicht wirklich effektiv.
    Ich wollte mal fragen, bevor ich versuche bei dem neuen irgendwie alle Fehler rauszubekommen, ob ihr eine gute Methode kennt.
    Freue mich über Antworten :)

    Danke im Vorraus
    MultiDekey
    In der Nacht fällt der Boden von den Wänden.
  • Müsste funktionieren, habs nicht getestet:

    Collision Event mit Gegner oder was du willst

    GML-Quellcode

    1. var dx,dy;
    2. dx=other.x-x;
    3. dy=other.y-y;
    4. for (i=16;i>0;i-=1) { // Die 16 ist die maximale entfernung, d.h. er kann sich maximal 16 Pixel wegbewegen
    5. if (abs(dx)>abs(dy)) {
    6. if (other.x<x) {
    7. if (place_free(x+i,y)) {
    8. x+=i;
    9. break;
    10. }
    11. }
    12. else
    13. if (other.x>x) {
    14. if (place_free(x-i,y)) {
    15. x-=i;
    16. break;
    17. }
    18. }
    19. }
    20. else {
    21. if (other.y<y) {
    22. if (place_free(x,y+i)) {
    23. y+=i;
    24. break;
    25. }
    26. }
    27. else
    28. if (other.y>y) {
    29. if (place_free(x,y-i)) {
    30. y-=i;
    31. break;
    32. }
    33. }
    34. }
    35. }
    Alles anzeigen


    MfG Funcestor

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

  • Ok habe auch nochmal nachgeguckt, das Problem scheint in meiner Engine zu liegen. Werde den Fehler jetzt beheben.
    Danke für den Code/ das Example, funktioniert perfekt (Außer in meinem Hauptspiel ^^). Ist auf jeden schonmal besser als mein Anfangsknockback.
    Auch noch danke für deine schnellen Antworten

    Damit ist das Thema erledigt :)
    In der Nacht fällt der Boden von den Wänden.