Lauf Animation?

  • Lauf Animation?

    Hi, wie kann ich bei meinem Top Down Spiel eine Lauf Animation hinzufügen?
    Hier mein Code:

    if (keyboard_check(ord('W')))
    y -= 6;
    if (keyboard_check(ord('S')))
    y += 6;
    if (keyboard_check(ord('A')))
    x -= 6;
    if (keyboard_check(ord('D')))
    x += 6;



    Danke schonmal in vorraus. :)
  • Wie ist Top down gemeint? So wie in GTA 1/2, Diablo 1/2, Zelda 1/2.

    Ich mach mir normalerweise eine variable sprite die das sprite anzeigt und dann etwas in die Richtung:

    GML-Quellcode

    1. //define xspd and yspd
    2. if keyboard_check(ord("A")
    3. {
    4. xspd = 1-;
    5. }
    6. if keyboard_check(ord("D")
    7. {
    8. xspd = 1;
    9. }
    10. if !keyboard_check(ord("A")) && !keyboard_check(ord("D")
    11. {
    12. xspd = 0;
    13. }
    14. //check wich sprite to use based upon speed
    15. if xspd != 0
    16. {
    17. sprite = spr_walking_hor;
    18. }
    19. else
    20. if yspd != 0
    21. {
    22. sprite = spr_walking_ver;
    23. }
    24. else
    25. {
    26. sprite = spr_idle;
    27. }
    28. //add speed to position
    29. x += spd*xspd;
    30. y += spd*yspd;
    Alles anzeigen

    GML-Quellcode

    1. //draw
    2. draw_sprite_ext(sprite,anim,x,y,xspd,1,0,c_white,1);

    das wäre jetzt für den Fall dass du seperate sprites für horizontales und verticales movement hast. Und nicht nur gehen oder stehen. Deswegen wärs gut zu wissen wie denn dein Ding aussieht :)

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)
  • OK, dann würde ich soetwas machen:

    GML-Quellcode

    1. if keyboard_check(ord("W"))
    2. {
    3. yspd = -6;
    4. }
    5. if keyboard_check(ord("A"))
    6. {
    7. xspd = -6;
    8. }
    9. //etc
    10. if xspd == 0 && yspd == 0
    11. {
    12. sprite = spr_idle
    13. }
    14. else
    15. {
    16. sprite = spr_walking
    17. }
    18. //dann eine dir variable die dorthin zeigt wohin man geht. Also 8 Richtungen
    19. dir = point_direction(0,0,xspd,yspd);
    20. //dein sprite sollte also nur eine geh und eine steh animation haben und sich dann in richtung dir drehen.
    21. draw_sprite(sprite,animation,x,y,1,1,dir,c_white,1);
    Alles anzeigen

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)