Форум 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=92532)

lakehouse 27.02.2007 20:46

Звук из функции - управление
 
Есть такой код, который совершенно корректно запускает звук с эффектом возрастания (Fade OUT). После этого необходимо дальше управлять этим звуком, что и не получается. То есть trace(lp_sound); выводит undefined. Как так может быть?

Код:

function loopStart(loop:String, rate:Number) {
        var lp_sound:Sound = new Sound();
        lp_sound.attachSound(loop);
        lp_sound.start(0, 99);
        lp_sound.setVolume(0);
        this.onEnterFrame = function() {
                so = lp_sound;
                newVolume = so.getVolume()+rate;
                if (newVolume<100) {
                        so.setVolume(newVolume);
                } else {
                        so.setVolume(100);
                        delete this.onEnterFrame;
                }
        }
}

loopStart("loop",15);
trace(lp_sound); // Выводит Undefined!!!!


this.create 27.02.2007 21:15

Ссылка на объект класса Sound уничтожается после выполнения функции (особенность области видимости переменных). Создайте внешнюю перемнную и присвойте ей ссылку на объект класса Sound.
Код:

function loopStart(loop:String, rate:Number) {
        lp_sound = new Sound();
        lp_sound.attachSound(loop);
        lp_sound.start(0, 99);
        lp_sound.setVolume(0);
        this.onEnterFrame = function() {
                so = lp_sound;
                newVolume = so.getVolume()+rate;
                if (newVolume<100) {
                        so.setVolume(newVolume);
                } else {
                        so.setVolume(100);
                        delete this.onEnterFrame;
                }
        }
}
var lp_sound:Sound;
loopStart("loop",15);
trace(lp_sound);

Примерно так.


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

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