Musik leiser machen?

  • GM 8

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

  • Zu allererst rate ich dir die GM Audiere DLL von Bl@ckSp@rk zu benutzen, damit kannst du bspw. Musik pausieren, was mit den normalen Funktionen des GM nicht möglich ist (Link).

    Zum Problem: Berechne den Abstand zwischen beiden Objekten. Du könntest das hier machen:

    GML-Quellcode

    1. var distance;
    2. distance = sqrt(power(abs(object1.y-y),2) + power(abs(object1.x-x),2));


    Hier wird einfach die Distanz zwischen den beiden Objekten berechnet. Dann musst du einfach die Distanz/k (k muss mindestens 100 sein) von deiner Lautstärke abziehen:

    GML-Quellcode

    1. sound_volume(deinSoundName, laustärke-(distance/k)); //k >= 100


    Falls du die GM Audiere DLL benutz, dann musst du diese Funktion hier benutzen:

    GML-Quellcode

    1. audiere_stream_set_volume(sound, volume-(distance/k)); //k >= 100


    Müsste eigentlich klappen.

    Edit: Setze mal k lieber auf:

    GML-Quellcode

    1. k = sqrt(power(room_width,2) + power(room_height,2));

    k wäre dann die maximale Distanz die im Raum möglich ist. D.h. wenn die Soundquelle auf dem Punkt (0,0) ist, und ein Objekt im Punkt (Raumbreite, Raumhöhe), also in der untersten rechten Ecke ist, dass der Sound mit der Lautstärke 0, also Lautlos, abgespielt wird (wenn du nicht willst, dass ein Sound mit der Lautstärke 0 abgespielt werden soll, dann nimm k*2).

    MfG Trixt0r ;)

    Albert Einstein schrieb:

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Trixt0r ()