|
|
|||||
Регистрация: Sep 2009
Сообщений: 25
|
управление звуком через внука
Добрый день, сайт на флэше делаю впервые, на нем собственно и изучаю action Script 3
Столкнулся сейчас с проблемой, решить которую самостоятельно неполучается никак. Суть такова. Грубо говоря есть страница на которой включена фоновая музыка var backSound:Sound = new Sound(sound1); var sound1:URLRequest = new URLRequest("./music/back/Sound_1.mp3"); backSound.load(sound1); var playBack:Boolean=false; var controller2:SoundChannel; controller2=backSound.play(0,int.MAX_VALUE); musicOn.buttonMode=true; musicOff.buttonMode=true; musicOn.addEventListener(MouseEvent.CLICK, playBackSound); musicOff.addEventListener(MouseEvent.CLICK, stopBackSound); function playBackSound (e:MouseEvent):void { controller2=backSound.play(); playBack=true; } function stopBackSound (e:MouseEvent):void { controller2.stop(); playBack=false; } Дело в том что у пары внуков есть видео и аудио проигрыватели, при включении которых фоновая музыка должна замолкать. Как обратится к controller2 из внука не имею понятия пожалуйста подскажите... Спасибо! Последний раз редактировалось iNils; 07.09.2009 в 20:05. |
|
|||||
Регистрация: Feb 2009
Сообщений: 20
|
подпишись на события от детей и внуков
|
|
|||||
Регистрация: Sep 2009
Сообщений: 25
|
Подскажи пожалиста как ?
Просто я весьма и совсем начинающий очевидно в внуке надо прописать что то типа import flash. ???????????; |
|
|||||
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
|
Mazai, для оформления своего кода, надо использовать теги [code][/code].
|
|
|||||
Регистрация: Feb 2009
Сообщений: 20
|
в родителе подпишись на события от детей как ты подписался на события от кнопок либо подпишись на события кнопок детей,в детях нечего менять не стоит
|
|
|||||
Регистрация: Sep 2009
Сообщений: 25
|
до подписи прямых событий на кнопки внуков то я бы и сам дошел,
Но дело в том что в во внуках порядка 45 кнопок которые вызывают различные аудио дорожки. И на каждые 15 трэков есть одна команда запуска воспроизведения мелодии именно в этой команде я и хотел сослатся на controller2 и вырубить его непосредственно перед запуском трэка внука... вот маленький эпизод устройства внука import flash.events.Event; import flash.media.Sound; import flash.net.URLRequest; var sound14:URLRequest = new URLRequest("./music/krugovert/prew/14.mp3"); var sound15:URLRequest = new URLRequest("./music/krugovert/prew/15.mp3"); //var backStop:Boolean=false; var mySound:Sound = new Sound() var controller:SoundChannel; var playStarted:Boolean=true; krugovert_14.addEventListener(MouseEvent.ROLL_OVER, overBtn14); krugovert_14.addEventListener(MouseEvent.ROLL_OUT, outBtn14); function overBtn14(e:MouseEvent):void { if (playStarted) { krugovert_14.gotoAndPlay(2) mySound= new Sound(sound14); } } function outBtn14(e:MouseEvent):void { if (playStarted) { krugovert_14.gotoAndPlay(21) } } krugovert_15.addEventListener(MouseEvent.ROLL_OVER, overBtn15); krugovert_15.addEventListener(MouseEvent.ROLL_OUT, outBtn15); function overBtn15(e:MouseEvent):void { if (playStarted) { krugovert_15.gotoAndPlay(2) mySound= new Sound(sound15); } } function outBtn15(e:MouseEvent):void { if (playStarted) { krugovert_15.gotoAndPlay(21) } } krugovert_15.stop_playBtn.playBtn.addEventListener(MouseEvent.CLICK, playTrack_01); krugovert_15.stop_playBtn.stopBtn.addEventListener(MouseEvent.CLICK, stopSound); //функция запускает музыку имя котрой определяет темная подложка function playTrack_01 (e:MouseEvent):void { playStarted=false; controller=mySound.play(); } function stopSound (e:MouseEvent):void { controller.stop(); playStarted=true; } |
|
|||||
Регистрация: Feb 2009
Сообщений: 20
|
в твоем случае тогда легче сделать еще один статический класс с двумя функциями и одним диспатчером тогда будеш дергать только две его функции примером StaticClass.stopSounds() и StaticClass.playSounds() а он уже будет диспатчить события родителю,в родителе подпишешся только на два события,либо через parent но это плохая практика
Добавлено через 1 минуту или кидай в детей сылку на родителя но это тоже не очень |
|
|||||
Регистрация: Sep 2009
Сообщений: 25
|
Цитата:
Пожалуйста, можно короткий уже набитый на AS 3 примерчик. Просто я не программист и спец литературу не читал, потому "статический класс", "диспатчер" мне увы не очем не говорят. Научился хоть что то делать, просто анализируя примеры других работ, потому терминологию вообще почти не понимаю. Я вообще просто 3д дизайнер, а сайт для друзей музыкантов, которым имел глупость пообщать навоять сайт, погружатся в изучение флэша и дальше с ним работать наврядле буду(хотя процедура весьма увлекательная, может теперь уже сайтик и самому себе, но не больше), потому и пречитывать талмуд литературы не целесообразно, а тырить монстер темплейты очень сильно неприятно было, не стал. Все что мне нужно это довести этот сайт, осталось чуть чуть... фотогалерея и фоновая музыка, не разберусь с выключением музыки из внучка, придется завязать с идеей фоновой музыки, жаль но время уже поджимает... И если не затруднит набить короткий примерчик, я был бы весьма признателен... PS. неужели нельзя из внучатого банально обратиться к проигрывателю как к файлу чрез 2 каталога root/playFrame/music. Ведь такая банальная процедура на словах..... И еще идея сейчас пришла, может есть команда на тотальное вырубание вообще всех звуков в флешке ???? Помнится шерстил просторы инета и натыкался на что то похожее, но под AS2.... Попробую найти упоминания и в AS3... Хотя не непойдет... его ведь нужно будет потом как то запустить.... ЗЗЫ Как бы то нибыло, большое спасибо всем кто пытается помочь!!! Последний раз редактировалось Mazai; 07.09.2009 в 22:45. |
Часовой пояс GMT +4, время: 03:47. |
|
« Предыдущая тема | Следующая тема » |
|
|