|
|
|||||
[+6 16.03.11]
Регистрация: Jul 2004
Адрес: от Москвы до самых до окраин
Сообщений: 172
|
плавное "выкл." "вкл." звука
Смысл такой, есть кнопка выкл/вкл звука. При выключении таймером через каждую 0,1 сек снижается громкость до 0. Обратно также. Вот набросал код:
package { import flash.display.MovieClip; import flash.events.MouseEvent; import flash.media.Sound; import flash.media.SoundChannel; import flash.media.SoundTransform; import flash.utils.Timer; import flash.events.TimerEvent; import flash.net.URLRequest; public class ShortTimer extends MovieClip { public var snd:Sound; public var chnl:SoundChannel; public var transf:SoundTransform; public var position:uint; public var timerVol:Timer = new Timer(100); public var flag:Boolean; public function ShortTimer() { flag = true; sndBtn.buttonMode = true; snd = new Sound(new URLRequest("Urban birds.mp3")); chnl = snd.play(0, 10000); transf = new SoundTransform(); sndBtn.addEventListener(MouseEvent.CLICK, onSndBtnClicked); timerVol.addEventListener(TimerEvent.TIMER, onTimerListener); trace(transf.volume); } //кнопка public function onSndBtnClicked(event:MouseEvent):void { timerVol.start(); sndBtn.play();// у sndBtn два кадра: "выкл." и "вкл." chnl.soundTransform = transf; flag = !flag; } //таймер public function onTimerListener(event:TimerEvent):void { if (flag) { transf.volume += .1; } else { transf.volume -= .1; } //не выходить из пределов от 0 до 1 if (transf.volume >= 1) { transf.volume = 1; timerVol.reset(); }else if(transf.volume <= 0) { transf.volume = 0; timerVol.reset(); } trace("transf.volume = " + transf.volume); } } } На всякий случай выкладываю все файлы. |
|
|||||
package { import flash.display.MovieClip; import flash.events.MouseEvent; import flash.media.Sound; import flash.media.SoundChannel; import flash.media.SoundTransform; import flash.utils.Timer; import flash.events.TimerEvent; import flash.net.URLRequest; public class ShortTimer extends MovieClip { public var snd:Sound; public var chnl:SoundChannel; public var transf:SoundTransform; public var position:uint; public var timerVol:Timer = new Timer(10); protected var volume:Number = 1; public var flag:Boolean; public function ShortTimer() { flag = true; sndBtn.buttonMode = true; snd = new Sound(new URLRequest("simple.mp3")); chnl = snd.play(0, 10000); transf = new SoundTransform( 1 ); sndBtn.addEventListener(MouseEvent.CLICK, onSndBtnClicked); timerVol.addEventListener(TimerEvent.TIMER, onTimerListener); trace(transf.volume); } //кнопка public function onSndBtnClicked(event:MouseEvent):void { timerVol.start(); sndBtn.play();// у sndBtn два кадра: "выкл." и "вкл." //chnl.soundTransform = transf; flag = !flag; } //таймер public function onTimerListener(event:TimerEvent):void { if (flag) { volume += .01; } else { volume -= .01; } //не выходить из пределов от 0 до 1 if (volume > 1) { volume = 1; timerVol.reset(); } if ( volume < 0 ) { volume = 0; timerVol.reset(); } setVolume (); trace("transf.volume = " + transf.volume); } private function setVolume () { transf.volume = volume; chnl.soundTransform = transf; } } }
__________________
Проста и чистота, залог душевного здоровья ... |
|
|||||
[+6 16.03.11]
Регистрация: Jul 2004
Адрес: от Москвы до самых до окраин
Сообщений: 172
|
вах!
из серии детских загадок "найди десять различий" Спасибо! Всего-то надо было переставить chnl.soundTransform = transf из кнопки в таймер Последний раз редактировалось dedsky; 07.05.2009 в 10:25. |
Часовой пояс GMT +4, время: 16:45. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|