Lautstärkeregler hinzufügen

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

  • Für die 1.4 Version gibt es sound_volume:
    docs.yoyogames.com/source/dadi…20sound/sound_volume.html

    Für die 2 (und höher) gibt es audio_sound_gain:
    docs.yoyogames.com/source/dadi…nds/audio_sound_gain.html

    audio_sound_gain habe ich persönlich bisher noch nicht verwendet. Ich verstehe es aber so, dass für einen gewissen Zeitraum die Lautstärke auf die gesetzt wird, die du dort angibst.
    Da müsstest du dann Feedback geben, ob es bei dir funktioniert und ob es so klappt, wie du es dir vorgestellt hast. Auf die schnelle habe ich keine andere Funktion gefunden.
  • Hab das mal gemacht,
    Auf youtube hat das mal jemand per Video (english) erklärt, leider habe ich den link nicht mehr (und mag auch grad nicht suchen;-)

    Als "inspiration" zeige ich mal meinen damit erarbeiteten Code:
    Leider kann ich keine Garantie geben ob er (noch) funktioniert und vollständig ist:-!
    Ein bug ist drinn - Wenn man den Slider auf 100% zieht, bleibt der soundloop (erzeugt beim klick auf den Fader) aktiv.

    Ich habe 2 Slider gemacht. Eine für den Sound und einen für die Geräusche (sfx).

    Quellcode

    1. bsp:
    2. //Erstellen eines Sliders für Musiklautstärke usw.
    3. //!!!ACHTUNG: unbedingt VOR dem Start (1.) Bildschirm einen leeren (boot) Room erstellen
    4. //und folgendes in den "Creation Code" des Raumes schreiben:
    5. //Musik Volume ist an
    6. global.musicVolume = 1
    7. global.musicVolume2 = 1 // für 2. Slider usw.
    8. //Starte den Raum Startbildschirm
    9. room_goto(room_Startbildschirm)
    10. //OBJECT ERSTELLEN: object_sound_kontroller erstellen (ohne Sprite) //2. für weiteren Slider usw.
    11. //Das Object "object_sound_kontroller in den Raum wo die Slider sind ziehen/platzieren!
    12. CREATE EVENT:
    13. if !audio_is_playing(sound_menu)
    14. {
    15. audio_play_sound(sound_menu,100,true)
    16. audio_sound_gain(sound_menu,global.musicVolume,0)
    17. }
    18. STEP EVENT:
    19. audio_sound_gain(sound_menu,global.musicVolume,0) //Menu Musik
    20. audio_sound_gain(sound_level1,global.musicVolume,0) //Level Musik usw.
    21. OBJECT ERSTELLEN: object_fader_musik //2. für weiteren Feder
    22. MIT Sprite für den Feder/ Steuerknopf beweglich (Hebel o.ä.)
    23. //CREATE EVENT:
    24. xx = 0
    25. greifen = false
    26. kann_klicken = true
    27. angeklickt = true
    28. rechtes_limit = x+(sprite_get_width(sprite_fader_linie_musik)/2)-30
    29. linkes_limit = x-(sprite_get_width(sprite_fader_linie_musik)/2)+30
    30. //STEP EVENT:
    31. if (!mouse_check_button(mb_left))
    32. {
    33. greifen = false
    34. }
    35. if (greifen == false) && (angeklickt == false)
    36. {
    37. exit
    38. }
    39. else
    40. {
    41. if ((mouse_x + xx) > linkes_limit) && ((mouse_x + xx < rechtes_limit))
    42. {
    43. x = mouse_x + xx
    44. }
    45. else if ((mouse_x + xx) < linkes_limit)
    46. {
    47. x = linkes_limit
    48. }
    49. else if ((mouse_x + xx) > rechtes_limit)
    50. {
    51. x = rechtes_limit
    52. }
    53. }
    54. prozentsatz = round(((x-linkes_limit)/(rechtes_limit-linkes_limit))*100)
    55. global.musicVolume = prozentsatz/100
    56. angeklickt = false
    57. //DRAW EVENT:
    58. draw_sprite_ext(sprite_fader_musik,0,x,y,1,1,0,c_white,1)
    59. draw_set_color(c_white)
    60. draw_set_font(font_punktezahl)
    61. draw_set_halign(fa_center)
    62. draw_set_valign(fa_middle)
    63. draw_text(1165,y, string(prozentsatz))
    64. draw_set_font(font_buttons)
    65. draw_text(650,540, + string("Musik:"))
    66. draw_set_color(c_white)
    67. draw_set_font(font_zielbeschreibung)
    68. draw_text(910,350, + string("Lautstaerke"))
    69. //LEFT PRESSED EVENT:
    70. if (kann_klicken)
    71. {
    72. greifen = true
    73. xx = x - mouse_x
    74. }
    75. //LEFT RELEASED EVENT:
    76. greifen = false
    77. //OBJECT ERSTELLEN: object_fader_line_musik //2. für weitere Slader usw.
    78. MIT Sprite Linie für die Faderbegrenzung/ länge (nicht beweglich)
    79. //CREATE EVENT:
    80. kann_klicken = true
    81. rechtes_limit = x+(sprite_get_width(sprite_fader_linie_musik)/2)-30
    82. linkes_limit = x-(sprite_get_width(sprite_fader_linie_musik)/2)+30
    83. a = instance_create_depth(x,y,0,object_fader_musik)
    84. a.image_xscale = 1
    85. a.image_yscale = 1
    86. a.fader_laenge = sprite_get_width(sprite_fader_musik)
    87. a.rechtes_limit = rechtes_limit
    88. a.linkes_limit = linkes_limit
    89. a.prozentsatz = global.musicVolume*100//100%
    90. a.x = a.linkes_limit + ((a.prozentsatz/100) * (a.rechtes_limit-a.linkes_limit))
    91. a.angeklickt = false
    92. //LEFT PRESSED EVENT:
    93. if kann_klicken
    94. {
    95. if (mouse_x > linkes_limit) && (mouse_x < rechtes_limit)
    96. {
    97. a.x = mouse_x
    98. a.angeklickt = true
    99. }
    100. }
    Alles anzeigen