Game Maker Studio Sound Volume

      Game Maker Studio Sound Volume

      Hallo Community,

      ich bin gerade dabei mein eigenes Game Maker Androidspiel zu programmieren. Ich benutze hierfür Game Maker Studio.
      Alles lief gut bis ich jetzt da angekommen bin, wo ich die Optionen für das Spiel erstellen will.
      Ich möchte Soundeinstellungen erstellen, wo man die Musik lauter oder leiser machen kann. Es ist ein größeres Problem als ich dachte.
      Im Optionsmenü sollte es so aussehen, 10 kleine Kästchen nebeneinander mit den Nummer von 0-10, 0 für Musik aus, 1 für sehr leise und dann bis 10 immer lauter. 10 am lautesten.
      Standard soll die Musik so auf Stufe 7 laufen, wenn man z.B. die Musik ganz laut haben will drückt man auf Kästchen Nummer 10 und die Musik ist dann lauter wenn man auf Kästchen Nummer 1 drückt ganz leise.
      Ich hoffe ihr könnt verstehen was ich meine. Ich wollte es mit sound_volume versuchen und dann bei Kästchen Nummer 1 sound_volume(mein_sound, 0.1) dann bei Kästchen Nummer 2 sound_volume(mein_sound, 0.2)
      und immer so weiter aber es scheint das sound_volume irgendwie nicht funktionieren will.
      Ich hab auch als Test mit audio_sound_gain() versucht klappt auch irgendwie nicht, meine sound datei ist eine .wav datei.
      Ich komm einfach nicht mehr weiter, könnt ihr mir vielleicht ein Code schreiben mit dem der Sound auch wirklich leiser oder lauter wird, bei mir höre ich kein unterschied...
      sound_volume() gehört zur alten Soundengine, welche durch die "audio_"-Funktionen ersetzt wurde.
      audio_music_gain() was für dich am einfachsten gewesen wäre scheint inzwischen obsolete zu sein.
      Bleibt meines Wissens tatsächlich nur noch audio_sound_gain()

      Hier steht wie audio_sound_gain() funktioniert.

      Wenn du eine Variable "volume" hast mit einem Wert zwischen 0 und 1 kannst du einen Sound mit entsprechender Volume dann so abspielen:

      GML-Quellcode

      1. var snd = audio_play_sound(snd_deinsound);
      2. audio_sound_gain(snd, volume, 0);