![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2002
Сообщений: 51
|
Есть такой код, который совершенно корректно запускает звук с эффектом возрастания (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!!!!
|
|
|||||
|
Регистрация: Feb 2007
Сообщений: 264
|
Ссылка на объект класса 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);
Последний раз редактировалось this.create; 27.02.2007 в 21:19. |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|