Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как со старта запустить функцию? (http://www.flasher.ru/forum/showthread.php?t=155655)

forward 07.05.2011 19:42

Как со старта запустить функцию?
 
Доброго времени суток!

Как в этом коде можно запустить со старта функцию SoundStart() что сразу началось проигрывание?

Код AS3:

package main.radio{
        ///Библиотеки классов
        import flash.display.*;
        import flash.events.*;
        import flash.media.*;
        import flash.net.*;
        import flash.utils.*;
 
        public class Radio extends MovieClip {
                ////Массив с названиями и ссылками на радиостанции
                private var Data:Array=[
                [
                "KISS FM",
                "RADIO ROKS",
                "TRANCE",
                "RELAX",
                "RAP",
                "Drum & Bass",
                "Русское Радио" ,
                ],
                [
                "http://radio.adsl.by:8000/kissfm128",
                "http://radio.adsl.by:8000/roks_ua",
                "http://stream.netradio.by:8000/trance/mp3/256",
                "http://stream.netradio.by:8000/relax/mp3/256",
                "http://stream.netradio.by:8000/rap/mp3/256",
                "http://radio.adsl.by:8000/ps_drum",
                "http://radio.adsl.by:8000/russianradioua",
                ]
                ];
 
 
                ///фон плеера
                public var BackGround:radioBg=new radioBg();
                ///кнопка плей
                public var Play:playBtn=new playBtn();
                ///кнопка стоп
                public var Stop:stopBtn=new stopBtn();
                //следующая
                public var Next:nextBtn=new nextBtn();
                // предыдущая
                public var Prev:nextBtn=new nextBtn();
                /// кнопка громкости
                public var Vol:volBtn=new volBtn();
                //Играет ли музыка
                public var MusicPlay:Boolean=false;
 
                public var kiss:Boolean = false;
 
                private var nextTitle:Sound = new Sound();
 
                //Для работы с звуокм
                private var sc:SoundChannel = new SoundChannel();
                private var s:Sound=null;
 
                //Текущая радиостанция
                private var curChanel:uint=0;
 
                public function Radio(_x:Number=0,_y:Number=0) {
                        //позиционируем фон
                        BackGround.x=100;
                        BackGround.y=24;
                        addChild(BackGround);
                        //позиционируем кнопки управления
                        Play.x=65;
                        Play.y=57;
                        addChild(Play);
                        Stop.x=54;
                        Stop.y=51;
                        addChild(Stop);
                        Prev.x=160;
                        Prev.y=48;
                        Prev.scaleX=-1;
                        addChild(Prev);
                        Next.x=155;
                        Next.y=48;
                        addChild(Next);
                        Vol.x=193;
                        Vol.y=67;
                        addChild(Vol);
 
 
                        ////////////////Слушатели
                        Play.addEventListener(MouseEvent.CLICK,SoundPlay);
                        Play.addEventListener(MouseEvent.MOUSE_OVER, startTooltipCounter);
                        Play.addEventListener(MouseEvent.MOUSE_OUT, hideTooltip);
 
                        Stop.addEventListener(MouseEvent.CLICK,SoundStop);
                        Stop.addEventListener(MouseEvent.MOUSE_OVER, startTooltipCounter);
                        Stop.addEventListener(MouseEvent.MOUSE_OUT, hideTooltip);
 
                        Next.addEventListener(MouseEvent.CLICK,SoundNext);
                        Next.addEventListener(MouseEvent.MOUSE_OVER, startTooltipCounter);
                        Next.addEventListener(MouseEvent.MOUSE_OUT, hideTooltip);
 
                        Prev.addEventListener(MouseEvent.CLICK,SoundPrev);
                        Prev.addEventListener(MouseEvent.MOUSE_OVER, startTooltipCounter);
                        Prev.addEventListener(MouseEvent.MOUSE_OUT, hideTooltip);
                        //Вешаю слушатели на кнопки регулятора звука
                        for (var i:Number=1; i<=4; i++) {
                                Vol['v'+i+'_btn'].addEventListener(MouseEvent.CLICK,VolumeChange);
                        }
                        //Обновляем текстовое поле и кнопки
                        update();
                }
 
 
                public function SoundPlay(e:MouseEvent) {
 
                        addEventListener(Event.ENTER_FRAME, onEnterFrame);
 
                        if (MusicPlay==false) {
                                if (s) {
                                        //закрываем канал если он открыт
                                        s.close();
                                }
                                //Получаем ссылку радиостанции из массива
                                nextTitle.load(new URLRequest(Data[1][curChanel]));
 
                                nextTitle.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
 
                                //Грузим её
                                s=nextTitle;
                                //Воспроизводим
                                sc=s.play();
                                //Указывем что музыка играет
                                MusicPlay=true;
                                //Обновляем кнопки
                                update();
                        }
                }
 
                public function SoundStart() {
 
                        addEventListener(Event.ENTER_FRAME, onEnterFrame);
 
                        if (MusicPlay==false) {
                                if (s) {
                                        //закрываем канал если он открыт
                                        s.close();
                                }
                                //Получаем ссылку радиостанции из массива
                                nextTitle.load(new URLRequest(Data[1][curChanel]));
 
                                nextTitle.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
 
                                //Грузим её
                                s=nextTitle;
                                //Воспроизводим
                                sc=s.play();
                                //Указывем что музыка играет
                                MusicPlay=true;
                                //Обновляем кнопки
                                update();
                        }
                }
 
 
                private function ioErrorHandler() {
            //Останавливаю музыку
                        sc.stop();
                        if (s) {
                                //закрываем канал если он открыт
                                s.close();
                        }
                        //Указывем что музыка не играет
                        MusicPlay=false;
                        s=null;
                        //Обновляем кнопки
                        update();
        }
 
private var n = 0;
private function onEnterFrame(event:Event) {
trace(n);
n++;
 
trace(MusicPlay);
trace(s);
trace(MusicPlay);
 
if(MusicPlay==false){
ioErrorHandler();
}
}
 
                public function SoundStop(e:MouseEvent) {
 
                        //Останавливаю музыку
                        sc.stop();
                        if (s) {
                                //закрываем канал если он открыт
                                s.close();
                        }
                        //Указывем что музыка не играет
                        MusicPlay=false;
                        s=null;
                        //Обновляем кнопки
                        update();
                }
 
                public function SoundNext(e:MouseEvent) {
                        //Останавливаю музыку
                        sc.stop();
                        if (s) {
                                //закрываем канал если он открыт
                                s.close();
                        }
                        //Указывем что музыка не играет
                        MusicPlay=false;
                        ///Если текущая радиостанция, последняя в списке, перескакиваю на первую
                        if (curChanel==Data[1].length-1) {
                                curChanel=0;
                        } else {
                                //иначе просто плюсую
                                curChanel+=1;
                        }
                        //Получаем ссылку радиостанции из массива
                        nextTitle.load(new URLRequest(Data[1][curChanel]));
                        nextTitle.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
                        //Грузим её
                        s=nextTitle;
                        //Воспроизводим
                        sc=s.play(0);
                        //Указывем что музыка играет
                        MusicPlay=true;
                        //Обновляем текстовое поле
                        update();
                }
 
                public function SoundPrev(e:MouseEvent) {
                        //Останавливаю музыку
                        sc.stop();
                        if (s) {
                                //закрываем канал если он открыт
                                s.close();
                        }
                        //Указывем что музыка не играет
                        MusicPlay=false;
                        ///Если текущая радиостанция меньше, чем минимальная в списке, перескакиваю на последнюю
                        if (curChanel<=0) {
                                curChanel=Data[1].length-1;
                        } else {
                                //иначе просто отнимаем
                                curChanel-=1;
                        }
                        //Получаем ссылку радиостанции из массива
                        nextTitle.load(new URLRequest(Data[1][curChanel]));
                        nextTitle.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
                        //Грузим её
                        s=nextTitle;
                        //Воспроизводим
                        sc=s.play(0);
 
                        //Указывем что музыка играет
                        MusicPlay=true;
                        //Обновляем текстовое поле
                        update();
                }
 
                private function update() {
                        //Обновляем текстовое поле и отображаем название радиостанции
                        BackGround.name_txt.text=Data[0][curChanel];
                        ///Показываем кнопку stop если play нажата и наоборот
                        if (MusicPlay==true) {
                                Play.visible=false;
                                Stop.visible=true;
                        } else {
                                Play.visible=true;
                                Stop.visible=false;
                        }
                }
                ////Для изменения прозрачности кнопок при наведении
                private function startTooltipCounter(e:MouseEvent):void {
                        e.currentTarget.alpha=0.6;
                }
 
                private function hideTooltip(e:MouseEvent):void {
                        e.currentTarget.alpha=1;
                }
                ///Меняем звук в зависимости от того какая кнопка нажата
                private function VolumeChange(e:MouseEvent):void {
                        var mod:SoundTransform = new SoundTransform();
            //переменная хранящая имя нажатой кнопки
                        var presedV:String;
                        //получаю имя нажатой кнопки
                        presedV=String(e.currentTarget.name);
                        //Регулирую звук
                        mod.volume =(Number(presedV.substr(1,1))-1)*0.33 ;
                        //применяю громкость к звуковому каналу
                        sc.soundTransform=mod;
            ///циклы для кнопок звука
                        for (var i:Number=1; i<=4; i++) {
                                Vol['v'+i+'_btn'].alpha=0.3;
                        }
 
                        for (i=1; i<=(Number(presedV.substr(1,1))-1)+1; i++) {
                                Vol['v'+i+'_btn'].alpha=1;
                        }
                }
        }
}


Dukobpa3 07.05.2011 20:02

Код AS3:

SoundPlay(null)


forward 07.05.2011 20:24

Цитата:

Сообщение от Dukobpa3 (Сообщение 994655)
Код AS3:

SoundPlay(null)


Это работает если в функции запускать а как просто ее запустить?

Dukobpa3 07.05.2011 20:26

Кто-то из нас двоих тупит...

honest_man 07.05.2011 20:39

Из нас троих... Подозреваю что тупят 2 из трех! =D
Не врубаюсь что значит "запустить со старта"? В метод-конструктор никак не всунуть?

forward 07.05.2011 20:56

Все разобрался спасибо )

КорДум 07.05.2011 21:21

Так кто на самом деле тупил? Присоединяюсь к тупившим.
ЗЫ. форматирование кода после ядерного взыва? ;)

in4core 08.05.2011 03:44

Цитата:

ЗЫ. форматирование кода после ядерного взыва?
Скорее по уроку, или исходник


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

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