Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   регулятор громкости из библиотеки (http://www.flasher.ru/forum/showthread.php?t=159573)

Bankomat 02.07.2011 15:38

регулятор громкости из библиотеки
 
берем регулятор громкости из библиотеки флеш 2008
в нем есть такой ког
Код AS1/AS2:

top = vol._y;
left = vol._x;
right = vol._x;
bottom = vol._y+100;
level = 100;
//
vol.onPress = function() {
        startDrag("vol", false, left, top, right, bottom);
        dragging = true;
};
vol.onRelease = function() {
        stopDrag();
        dragging = false;
};
vol.onReleaseOutside = function() {
        dragging = false;
};
//
this.onEnterFrame = function() {
        if (dragging) {
                level = 100-(vol._y-top);
        } else {
                if (level>100) {
                        level = 100;
                } else if (level<0) {
                        level = 0;
                } else {
                        vol._y = -level+100+top;
                }
        }
        sound.setVolume(level);
};

как сделать чтоб с его помощью можно было регулировать звук всей флешки?
исходник

mooncar 02.07.2011 20:30

У вас в исходнике вообще ничего не организовано в плане звука.

1. Запишите в кадре главного таймлайна код:
Код AS1/AS2:

var s1:Sound = new Sound();
var s2:Sound = new Sound(_root.createEmptyMovieClip('snd2', _root.getNextHighestDepth()));
s2.attachSound('s2');
s2.start();

В библиотеке задайте Linkage вашему треку s2

2. А в коде фейдера замените строку на
Код AS1/AS2:

_root.s1.setVolume(level);

Тогда все заработает.

Такая архитектура позволит менять звук для всей флешки (в примере экземпляр s1 связан со всеми звуками ролика), и, если понадобится, отдельно можно будет управлять звуком s2, к которому приаттачен ваш трек.
Так делается, если у вас во флешке предполагаются еще какие-то звуки, и их уровень нужно настраивать индивидуально, но при этом хочется иметь возможность менять громкость всех звуков в ролике.

Если других звуков не будет, можно обойтись одним экземпляром:
Код AS1/AS2:

var s:Sound = new Sound();

и
Код AS1/AS2:

_root.s.setVolume(level)

в фейдере.

Bankomat 05.07.2011 09:04

спасибо


Часовой пояс GMT +4, время: 11:34.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.