PRO | Problem mit "Schleif Sprite" ^^ | [Gelöst]

  • PRO | Problem mit "Schleif Sprite" ^^ | [Gelöst]

    Spoiler anzeigen

    Hi nochmal! xD
    Ich hab ein kleines Problem:
    Ich habe eingestellt, dass wenn man gerade nach links läuft, und dann nach rechts drückt, dass man dan einen Sprite sieht, bei dem man erster "abschleift"
    Gut auf einer Seite klappt das perfekt, aber auf der 2ten gar nicht! ?(
    Unten ist mein Example, denn alle Codes aufzulisten würde viel zu weit führen!
    Also einfach mal im Game schnell nach rechts laufen und dann plötzlich nach links!
    Wisst ihr woran das liegt?
    EDIT:
    Codes hinzugefügt:
    Step Event:

    GML-Quellcode

    1. if(keyboard_check(vk_left))
    2. {
    3. if(hspeed>0)
    4. {
    5. skid=1
    6. }
    7. else
    8. {
    9. skid=0
    10. }
    11. }
    12. else
    13. {
    14. skid=0
    15. }
    16. if(keyboard_check(vk_right))
    17. {
    18. if(hspeed<0)
    19. {
    20. skid=1
    21. }
    22. else
    23. {
    24. skid=0
    25. }
    26. }
    27. else
    28. {
    29. skid=0
    30. }
    Alles anzeigen


    Nochmal Step:

    GML-Quellcode

    1. if!(place_free(x,y+1)) || (instance_position(x,y+1,obj_solidpar))
    2. {
    3. springe=0
    4. }
    5. else
    6. {
    7. springe=1
    8. }
    9. if(left==1) && (springe==1)
    10. {
    11. sprite_index=spr_mario_small_jump_left
    12. }
    13. if(right==1) && (springe==1)
    14. {
    15. sprite_index=spr_mario_small_jump_right
    16. }
    17. if(right==1) && (springe==0)
    18. {
    19. if(skid==1)
    20. {
    21. sprite_index=spr_mario_small_skid_right
    22. }
    23. else
    24. {
    25. sprite_index=spr_mario_small_right
    26. }
    27. }
    28. if(left==1) && (springe==0)
    29. {
    30. if(skid==1)
    31. {
    32. sprite_index=spr_mario_small_skid_right
    33. }
    34. else
    35. {
    36. sprite_index=spr_mario_small_left
    37. }
    38. }
    Alles anzeigen



    EDIT2: Anhang Entfernt. Gelöst.

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von fabse64 ()

  • Im skid-code sind wird, durch das letzte else, der erste Teil unmöglich.
    So ist es richtig:

    GML-Quellcode

    1. //Skid
    2. if(keyboard_check(vk_left))
    3. {
    4. if(hspeed>0)
    5. {
    6. skid=1
    7. }
    8. else
    9. {
    10. skid=0
    11. }
    12. }
    13. if(keyboard_check(vk_right))
    14. {
    15. if(hspeed<0)
    16. {
    17. skid=1
    18. }
    19. else
    20. {
    21. skid=0
    22. }
    23. }
    Alles anzeigen


    und in diesem Code ist ein sprite falsch gewesen:

    GML-Quellcode

    1. //Jump Sprite
    2. if!(place_free(x,y+1)) || (instance_position(x,y+1,obj_solidpar))
    3. {
    4. springe=0
    5. }
    6. else
    7. {
    8. springe=1
    9. }
    10. if(left==1) && (springe==1)
    11. {
    12. sprite_index=spr_mario_small_jump_left
    13. }
    14. if(right==1) && (springe==1)
    15. {
    16. sprite_index=spr_mario_small_jump_right
    17. }
    18. if(right==1) && (springe==0)
    19. {
    20. if(skid==1)
    21. {
    22. sprite_index=spr_mario_small_skid_right
    23. }
    24. else
    25. {
    26. sprite_index=spr_mario_small_right
    27. }
    28. }
    29. if(left==1) && (springe==0)
    30. {
    31. if(skid==1)
    32. {
    33. sprite_index=spr_mario_small_skid_left
    34. }
    35. else
    36. {
    37. sprite_index=spr_mario_small_left
    38. }
    39. }
    Alles anzeigen

    "Is this one sloshing?"
    Four words you don't want to hear when you pick up a coffin...