Sound nur dann abspielen wenn der sound nicht schon läuft.

  • GM 8

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

  • Sound nur dann abspielen wenn der sound nicht schon läuft.

    Heyho,

    kann mir evtl. jemand von euch auf die sprünge helfen? Ich glaube der code ist so okay, aber er spielt den sound dennoch überlappend ab. und das klingt dann einfach grässlig.
    hier mein code-schnipsel:

    GML-Quellcode

    1. if sound_isplaying(snd_zerquetschen)=false
    2. {
    3. sound_play(snd_zerquetschen)
    4. }


    Problem: Sound wird trotz abfrage mehr als einmal abgespielt.
    Soll: Sound soll nur abgespielt werden wenn er halt noch nicht läuft. Sound-Spielen > warten bis sound zuende gespielt wurde >Sound erneut abspielen
    Situation: Der code befindet sich im step event vom player und soll dann abgespielt werden wärend der spieler zerquetscht wird.

    Verdacht: Sound ist einfach zu kurz und wird deshalb von der abfrage immer als "not playing" erkannt. Für diesen fall wäre es nett von euch wenn ihr eine lösung wüsstet wie ich 1 sekunde warten kann bevor der sound erneut abgespielt wird.

    [hide=restcode]

    GML-Quellcode

    1. if place_meeting(x-1,y,obj_wall) and place_meeting(x+1,y,obj_horizontal_block)
    2. {
    3. effect_create_above(ef_explosion,x,y,0,c_red)
    4. hp -= 5;
    5. if sound_isplaying(snd_zerquetschen)=false
    6. {
    7. sound_play(snd_zerquetschen)
    8. }
    9. }
    10. if place_meeting(x+1,y,obj_wall) and place_meeting(x-1,y,obj_horizontal_block)
    11. {
    12. hp -= 5;
    13. effect_create_above(ef_explosion,x,y,0,c_red)
    14. if sound_isplaying(snd_zerquetschen)=false
    15. {
    16. sound_play(snd_zerquetschen)
    17. }
    18. }
    Alles anzeigen
    [/hide]
    Dateien
    • pl_fallpain3.rar

      (48,3 kB, 146 mal heruntergeladen, zuletzt: )
  • Einfach das ins Kollisions-Event:

    GML-Quellcode

    1. if musicplay=0
    2. {
    3. sound_play(snd_zerquetschen)
    4. alarm[0]=30
    5. }


    Ins Alarm[0]-Event:

    GML-Quellcode

    1. musicplay=0


    Edit: Dass im Create Event lässt du drin! Und 30 Steps sind 1ne Sekunde, aber nur wenn du nichts an dem Roomspeed verändert hast.