Sound spielt mehrmals ab und sprite problem

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

  • Sound spielt mehrmals ab und sprite problem

    jedes mal wenn mein player springt soll ein sound abgespielt werden..das funktioniert auch ganz gut...jedoch habe ich gemerkt das
    wenn ich öfters hintereinander drücke spielt der sound auch mehrmals..und das will ich nicht..da sonst bei einem sprung mehrmals der ssound abgespielt wird.


    und noch was zu den sprites.

    ich habe eine leiter in dem spiel was ich mache...also ein platformer spiel....und ich wollte das wenn der spieler mit der leiter in kontakt ist das dann das klettersprite
    benutzt wird.

    ich dachte ich kann es einfach mit einer ispressed variable machen...ich hab im create event des players also die variable ispressed="up" erstellt

    und im step event diesen code hinzugefügt:

    GML-Quellcode

    1. if place_meeting(x,y,obj_leiter)== true
    2. {
    3. if ispressed="up"
    4. sprite_index=spr_player_klettern;
    5. image_speed=0.3;
    6. }else{
    7. if ispressed="down"
    8. sprite_index=spr_player_klettern;
    9. image_speed=0.3;}
    10. if place_meeting(x,y,obj_leiter)== true // Leiter hochklettern
    11. {
    12. if keyboard_check(vk_up) or keyboard_check(ord("W"))
    13. {ispressed="up"
    14. vspeed=-4;
    15. }
    16. else if
    17. keyboard_check(vk_down) or keyboard_check(ord("S"))
    18. {ispressed="down"
    19. vspeed=4
    20. }
    21. else
    22. vspeed=0;
    23. }
    Alles anzeigen




    jedoch funktioniert es nichgt so wie ich will...das mit dem image speed darin ist ein blödsinn da durchgehend der image speed dadurch geändert wird.
    und es sollte ja nur den image speed anwenden wenn ich bei der leiter bin und rauf oder runter drücke.

    es wird zwar das kletter sprite angezeigt aber keine animation und auch nur wenn man nach oben drückt...

    bitte um hilfe
  • Zu deinem Soundproblem:

    Du musst dir eine Variable einbauen, in der du speicherst ob dein Spieler gerade schon springt oder nicht.

    Diese dan abfragen beim drücken der Taste und den sound nur abspielen wenn der Spieler eben nicht gerade schon in der Luft ist.
  • Naja, du hast eine Variable und wenn springen gedrückt wird checkst du ob die noch 0 ist. Wenn nein dann wird ein Sound gespielt und die Variable auf 1 gesetzt.
    Bei Kollision mit Boden oder whatever wird sie wieder auf 0 gesetzt.

    Ein bisschen ausprobieren etc müsstest du schon..
    Aktuelles Projekt: Aufbau - Strategiespiel.
    Aktueller Entwicklungsschritt: Planung | Grundengine entwickeln.

    Wichtig ist nicht, besser zu sein als alle anderen.
    Wichtig ist, besser zu sein als du gestern warst.