Wie ändert sich die Grafik, wenn ich die Figur nicht steuere?

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

  • Wie ändert sich die Grafik, wenn ich die Figur nicht steuere?

    Meine Frage:

    Auf meiner Oberwelt Karte befinden sich Monster, die sich von alleine bewegen. Und wenn sie in Berührung mit der Hauptfigur kommt, wird ein Kampf ausgelöst(kennt ja man schon von diversen RPGs).
    Was muss man machen, damit das mit dem Monster funktioniert? Wie bringt man es, die Blickrichtung zu ändern, je nachdem wo es gerade hingeht???
  • Ich gehe mal davon aus, dass du die Bewegung der Figur mit Hilfe von "direction" steuerst. Frage diese im Stepevent ab, und passe die Animation dementsprechend an. Außerdem gehe ich davon aus, dass du eine Animation aus 3 Bildern pro Richtung hast, also sieht das dann so aus:

    GML-Quellcode

    1. //Create-Event
    2. schritt=1


    GML-Quellcode

    1. //Step-Event
    2. switch (direction)
    3. case 0:{switch (schritt)
    4. case 1:{schritt=2;
    5. image_index= /*mittleres bild der bewegung*/;break;}
    6. case 2:{schritt=3;
    7. image_index= /*rechtes bild der bewegung*/;break;}
    8. case 3:{schritt=4;
    9. image_index= /*mittleres bild der bewegung*/;break;}
    10. case 4:{schritt=1;
    11. image_index= /*linkes bild der bewegung*/;break;}
    12. };break;
    13. case 90:{switch (schritt)
    14. case 1:{schritt=2;
    15. image_index= /*mittleres bild der bewegung*/;break;}
    16. case 2:{schritt=3;
    17. image_index= /*rechtes bild der bewegung*/;break;}
    18. case 3:{schritt=4;
    19. image_index= /*mittleres bild der bewegung*/;break;}
    20. case 4:{schritt=1;
    21. image_index= /*linkes bild der bewegung*/;break;}
    22. };break;
    23. case 180:{switch (schritt)
    24. case 1:{schritt=2;
    25. image_index= /*mittleres bild der bewegung*/;break;}
    26. case 2:{schritt=3;
    27. image_index= /*rechtes bild der bewegung*/;break;}
    28. case 3:{schritt=4;
    29. image_index= /*mittleres bild der bewegung*/;break;}
    30. case 4:{schritt=1;
    31. image_index= /*linkes bild der bewegung*/;break;}
    32. };break;
    33. case 270:{switch (schritt)
    34. case 1:{schritt=2;
    35. image_index= /*mittleres bild der bewegung*/;break;}
    36. case 2:{schritt=3;
    37. image_index= /*rechtes bild der bewegung*/;break;}
    38. case 3:{schritt=4;
    39. image_index= /*mittleres bild der bewegung*/;break;}
    40. case 4:{schritt=1;
    41. image_index= /*linkes bild der bewegung*/;break;}
    42. };break;
    Alles anzeigen


    Und wieder setze ich etwas vorraus, nämlich dass alle Einzelbilder im selben Sprite sind. Das wäre jetzt jedenfalls so ein Grundgerüst...
  • Also auf Anhieb fällt mir nur ein, das du mal folgendes überprüfen solltest:
    1.: Bewegen sich deine Figuren nur waagerecht und senkrecht? (Also nicht diagonal)
    2.: Hast du diese Bewegung mit Hilfe der direction gemacht? (Wie gesagt, das hab ich jetzt einfach mal vorraus gesetzt...)
    3.: Hast du für jede Richtung eine Laufanimation aus genau 3 Bildern?
    4.: Sind diese Einzelbider auch alle im selben Sprite?
    5.: Hast du dieses Spite auch der zugehörigen Figur zugewiesen?
    6.: Hast du an Stelle der Kommentare im Skript auch nur die Nummer des Subimages eingegeben?

    Das sind jedenfalls die Fehlerquellen die mir spontan einfallen, und wenn das alles nichts bringt, solltest du erstmal die Fehlermeldung posten...