![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+3 02.01.10]
Регистрация: Nov 2009
Сообщений: 67
|
Братцы я в AS3 не очень то.
На swf файле, формирующем основное окно сайта, играет хор. музыка, которую не хочется отключать. При переключении на другую html стр. ( которая стоит в одной папке с этим swf файлом) музыка продолжает играть как фон. Желательно ее погасить или откл. совсем. Собственно часть скрипта для музыки на этом swf файле:
// Toggle background music
var musicState:Boolean = true;
var musicPref:Boolean = true;
function toggleMusic(val) {
if (val == true) {
footer_mc.musicControls_mc.gotoAndStop(2);
my_sound.stop();
musicState = false;
musicPref = false
} else {
footer_mc.musicControls_mc.gotoAndStop(1);
my_sound.onLoad = function(success:Boolean) {
if (success) {
my_sound.start(0,999);
my_sound.setVolume(100);
status_txt.text = "Sound loaded";
} else {
status_txt.text = "Sound failed";
}
};
my_sound.loadSound(myMusic, false);
musicState = true;
musicPref = true;
}
}
function fadeOutMusic() {
musicState = false;
footer_mc.musicControls_mc.gotoAndStop(2);
currentVol = my_sound.getVolume();
footer_mc.musicControls_mc.onEnterFrame = function() {
if (currentVol>0){
currentVol-=2;
my_sound.setVolume(currentVol);
} else {
my_sound.setVolume(0);
delete footer_mc.musicControls_mc.onEnterFrame;
}
}
}
function fadeInMusic(){
if (musicPref == true) {
musicState = true;
footer_mc.musicControls_mc.gotoAndStop(1);
currentVol = my_sound.getVolume();
footer_mc.musicControls_mc.onEnterFrame = function() {
if (currentVol<100) {
currentVol+=2;
my_sound.setVolume(currentVol);
} else {
my_sound.setVolume(100);
delete footer_mc.musicControls_mc.onEnterFrame;
}
}
}
}
footer_mc.musicControls_mc.onRelease = function() {
if (musicState == true) {
toggleMusic(true);
} else {
toggleMusic(false);
}
};
footer_mc.musicControls_mc.onRollOver = function() {
this._alpha = 80;
};
footer_mc.musicControls_mc.onRollOut = footer_mc.musicControls_mc.onReleaseOutside = function() {
this._alpha = 100;
};
Подскажите, пожалуйста, что тут можно сделать ? Последний раз редактировалось AlexMakienko; 07.04.2010 в 02:43. |
|
|||||
|
[+3 02.01.10]
Регистрация: Nov 2009
Сообщений: 67
|
Alex Lexcuk Даже если на новой html стоит своя новая флешка ??
Что для этого лучше сделать ? Не уверен, но может как то компиллировать это?? Последний раз редактировалось AlexMakienko; 07.04.2010 в 04:08. |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 54
|
для того, чтобы плавно погасить музыку, используй лучше TweenMax. Если я правильно понимаю, тебе надо гасить музыку, если юзер переключился на другую страничку. используй событие DEACTIVATE. пусть его stage слушает. Только флешку надо внедрять с помощью swfobject.
|
|
|||||
|
[+3 02.01.10]
Регистрация: Nov 2009
Сообщений: 67
|
Lelka Ты правильно понимаешь. Подскажи где можно посмотреть о предложенном.
Deactivate это вводится в Action Script новой флешки на html стр. куда уходит Юзер ?? |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 54
|
объявляешь переменные: private var _channel : SoundChannel; private var _isMusicPlay:Boolean = true;// флаг, музыку выключили или нет private var _currentVolume:Number = 1;//текущая громкость в main-классе в конструкторе пишешь var sound : Sound = new Sound(new URLRequest("music.mp3")); _channel = _sound.play(0, 999); stage.addEventListener(Event.DEACTIVATE, setMusicHandler); stage.addEventListener(Event.ACTIVATE, setMusicHandler); и объявляешь функцию public function setMusicHandler(event : Event) : void { var volume : Number = 0; if(event.type==Event.ACTIVATE) { if(_isMusicPlay) { volume = _currentVolume; } } TweenMax.to(_channel, 0.5, {volume:volume}); } Этот код пишется в первой флешке. В которой музыка редактируется. |
|
|||||
|
[+3 02.01.10]
Регистрация: Nov 2009
Сообщений: 67
|
lelka Спасибо большое.
Попробую и отпишу. Пока Добавлено через 14 часов 48 минут lelka У меня не получается ! Может действительно сделаешь класс ? Собственно весь скрипт о музыке приведен в верхнем окне. Пожалуйста Добавлено через 16 часов 44 минуты Братцы в конце концов разобрался ! Собственно в основной (обычно main.swf) флешке всего XML сайта, формирующей исходный вид, меню сайта, переключений и музыки на background, ГАСИТЬ музыку при передаче управления на внешние html стр. надо не в блоке команд управляющих музыкой , (который я приводил выше), а в модуле управления по URL передачи команд по связям - Link (основным mainlink или вспомогательным-sublink). В моем случае простое введение в классе команд управления по URL // Load module and module data (main links)
function loadModule(id) {
if (linkModule[id] == "url") {
getURL(linkData[id], "_blank");
_root.fadeOutMusic();
}
else {
if (backgroundMusic == "yes" && musicPref == true) {
if (currentVol < 100) {
fadeInMusic();
}
}
clearInterval(_global.intervalID);
var hideContent:Tween = new Tween(moduleContainer_mc, "_alpha", None.easeOut, moduleContainer_mc._alpha, 0, 0.5, true);
hideContent.onMotionFinished = function() {
moduleData = linkData[id];
loadMovie(linkModule[id], moduleContainer_mc);
var showContent:Tween = new Tween(moduleContainer_mc, "_alpha", None.easeOut, 0, 100, 0.3, true);
};
}
}
Прав был Juice_Green наша первоначальная дискуссия по XML здесь http://www.flasher.ru/forum/showthread.php?t=138305 Все замечательно стало работать. При уходе на внешнюю стр. по URL Звук плавно гасится открывая дорогу звуковым делам на новой html странице. Большое спасибо Juice_Green, Alexcuk и конечно Lelca за интересную и важную подсказку по AS3. Она мне помогла в другом .swf Последний раз редактировалось AlexMakienko; 08.04.2010 в 21:02. |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 54
|
Класс, я так понимаю, уже не нужен?
![]() |
|
|||||
|
[+3 02.01.10]
Регистрация: Nov 2009
Сообщений: 67
|
lelka Очень нужен.
Сделай пожалуйста. Потому что, есть еще два XML варианта сайта, там в формирующих основной облик Флешках при уходе не по URL, а при уходе на др. флешки прием описанный выше не срабатывает. Я по AS3 не очень то. Кстати подскажи пожалуйста. Что лучше использовать для работы с AS3 Adobe CS3 ??? Я так понимаю он воспринимает и все на AS2 ?? У меня классно работает Flash8 . Там AS2. Может к нему плагины есть ?? Спасибо Последний раз редактировалось AlexMakienko; 10.04.2010 в 14:33. |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 54
|
Если по AS3 не очень, то используй CS3-4.
Да Советую перейти хотя бы на CS3. (через 2 дня уже CS5 выйдет ) про плагины ничего не знаю, но наврядли.ссылка - http://*****************/files/tccbfziej |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:10. |
|
|
« Предыдущая тема | Следующая тема » |
|
|