Steuerungsproblem bei mehreren Tasten gleichzeitig

  • GM 6

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

  • Steuerungsproblem bei mehreren Tasten gleichzeitig

    Hallo :)

    Bastel grad wieder an meiner Jump and Run-Steuerung rum. Laufen,springen, ducken und schießen kann er.
    Wenn ich nach rechts laufe und dabei springe und schieße funktioniert alles normal.

    Fehler:
    Wenn ich nach links laufe und dabei springe und schieße klappt es nicht. Und zwar werden nur 2 Aktionen ausgeführt.(springen-schießen; springen-links; schießen-links). Die jeweils als drittes gedrückte Taste wird nicht ausgeführt. Z.B. klappt es auch nicht zu springen wenn ich nach links laufe und dabei schieße.

    Hier mal mein kompletter Bewegungs-skript aus dem step-event:

    GML-Quellcode

    1. // Rechts
    2. if (keyboard_check(vk_right)) && !(keyboard_check(vk_left))
    3. {
    4. image_xscale = 1;
    5. if duck = 0 {
    6. if (place_meeting(x+5,y,obj_blocks)) {move_contact_solid(0,5)} else {x += 5;}}
    7. if duck = 1 {
    8. if (place_meeting(x+1,y,obj_blocks)) {move_contact_solid(0,1)} else {x += 1;}}
    9. }
    10. // Links
    11. if (keyboard_check(vk_left)) && !(keyboard_check(vk_right))
    12. {
    13. image_xscale = -1;
    14. if duck = 0 {
    15. if (place_meeting(x-5,y,obj_blocks)) {move_contact_solid(180,5)} else {x -= 5;}}
    16. if duck = 1 {
    17. if (place_meeting(x-1,y,obj_blocks)) {move_contact_solid(180,1)} else {x -= 1;}}
    18. }
    19. // Springen
    20. if (keyboard_check(vk_up)) && (place_meeting(x,y+1,obj_blocks)) && duck = 0
    21. {
    22. if (place_meeting(x,y+1,obj_jump32_32)){vspeed = -16;}
    23. else {vspeed = -10;}
    24. }
    25. if !(keyboard_check(vk_up)) && (vspeed < 0) {vspeed *= 0.9;}
    26. // Ducken
    27. if (keyboard_check(vk_down)) && (place_meeting(x,y+8,obj_blocks)) && duck = 0
    28. {duck = 1}
    29. if !(keyboard_check(vk_down)) && !(place_meeting(x,y-26,obj_blocks)) && duck = 1
    30. {duck = 0}
    31. // Schießen
    32. if (keyboard_check(vk_space)) && readytofire = 1
    33. {
    34. if duck = 0 {instance_create(x,y+30,obj_bullet_normal)}
    35. if duck = 1 {instance_create(x,y+48,obj_bullet_normal)}
    36. readytofire = 0
    37. alarm[0] = 15
    38. }
    Alles anzeigen


    Würde mich über jede Hilfe freuen :)
    Falls ihr mehr zur Analyse braucht(exe,gm6) sagt einfach Bescheid.

    MfG Killi
    Und es gibt jede Menge Rechtschreibfehlern.
  • Hab mir den Code jetzt nicht angeschaut, weil ich gleich an Tastaturprobleme denken musste. Die Anzahl der Tasten, die gleichzeitig registriert werden können, ist ja begrenzt. Bei ausgerechnet diesen 3 Tasten kann ich es zwar kaum glauben, aber wenn du die Möglichkeit hast, teste es mal mit einer anderen Tastatur oder einem anderen Rechner.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Ja, das kenne ich auch. Ich kann z.B. nicht Space gedrückt halten und gleichzeitig nach links und nach oben gehen, wobei es mit rechts und oben funktioniert. Ist garantiert ein Hardware-Problem (und der Grund, warum ich mir bald eine neue Tastatur kaufen muss :D )

    Magical dream time!