загрузка в swf xml
    , проблема в подгрузке файла swf
  ![]()  | 
Наши проекты:
 Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту  | 
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS | 
| [216.73.216.5] | 
 
 | 
		
  | 
    загрузка в swf xml
    , проблема в подгрузке файла swf
  | 
         
         
         
          
           Сообщ.
           #1
          
          , 
          
         
         
        
       | 
    |
| 
         | 
      
          Добрый день!  
        
      Столкнулась с такой проблемой: Есть главная форма(main) в которую подгружаю swf файл (albums). Отдельно сам файл albums работает, но при подгрузке через главную выдает ошибку: TypeError: Error #2007: Параметр child не должен быть равен нулю. at flash.display::DisplayObjectContainer/addChildAt() at fl.controls::BaseButton/drawBackground() at fl.controls::LabelButton/draw() at fl.core::UIComponent/callLaterDispatcher() Код файла main: ![]() ![]() import flash.display.Loader; //класс для загрузки внешнего содержимого import flash.net.URLRequest; //класс для создания гиперссылок import flash.utils.*; // для работы компонента ProgressBar import fl.controls.ProgressBar;// для динамического создания компонента ProgressBar import fl.controls.ProgressBarDirection; import fl.controls.ProgressBarMode; import flash.events.Event; var url :URLRequest[td] = new URLRequest(); // для ссылки на подгружаемый swf var ploader:ProgressBar = new ProgressBar(); this.ploader.move(500,300); // перемещение в нужную точку this.addChild(ploader); // добавление в список отображения this.ploader.direction = ProgressBarDirection.RIGHT; ploader.mode = ProgressBarMode.MANUAL; ploader.visible = false; var mcLoader:Loader = new Loader(); mcLoader.x = 350; // перемещение в нужную точку mcLoader.y = 150; addChild(mcLoader); // добавление в список отображения //Добавление обработчиков событий, связанных с загрузкой внешнего содержимого mcLoader.contentLoaderInfo.addEventListener(Event.OPEN, loadOpen); mcLoader.contentLoaderInfo.addEventListener(Event.INIT, loadInit); mcLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress); mcLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); function loadOpen(_event:Event) {     ploader.visible = true;     setChildIndex(ploader, numChildren - 1); } function loadInit(_event:Event) {     mcLoader.content.visible = false; } function loadProgress(_event:ProgressEvent) // отображаем процесс загрузки { // в компоненте ProgressBar     ploader.setProgress(_event.bytesLoaded, _event.bytesTotal); } function loadComplete(_event:Event) // по завершении загрузки содержимого {     ploader.visible = false; // скрываем ProgressBar     mcLoader.content.visible = true; // отображаем контент } url.url="galery.swf"; mcLoader.load(url); //обработчики событий нажатия на кнопки alb.addEventListener(MouseEvent.CLICK, albClick);//обработчик события для  песен function albClick(_event:Event) //функция обработчик нажатия кнопки главная {            mcLoader.unload();     url.url="albums.swf"     mcLoader.load(url); } Файл albums ![]() ![]() import flash.net.URLRequest; import flash.media.Sound; import flash.media.SoundChannel; import flash.media.ID3Info; import fl.controls.Slider;  import fl.events.SliderEvent;  import flash.media.SoundTransform; import flash.media.SoundMixer; this.stop(); var transf : SoundTransform = new SoundTransform(); // переменная для трансформации звука //текущая позиция звука var pos:Number=0; //общее количесвто файлов var count:Number; bPause.visible=false; // XML-документ var list:XML = new XML(); var childs:XMLList = new XMLList(); // объект для хранения всех дочерних узлов документа var XML_URL:String; if (al==1) { this.XML_URL = "listcrazy.xml";// адрес документа } if (al==2)  {this.XML_URL = "list.xml";// адрес документа } if (al==3) {   this.XML_URL = "listhumanity.xml";// адрес документа } if (al==4) {   this.XML_URL = "listbest.xml";// адрес документа } var myXMLURL:URLRequest = new URLRequest(XML_URL); // гиперссылка var myLoader:URLLoader = new URLLoader(myXMLURL);  // загрузчик текстового содержимого var time:Number = 0;//                                                 // загружаем в него XML-документ var musicURL:URLRequest = new URLRequest(); // гиперссылка для mp3-файла var snd:Sound = new Sound();                // объект-звук var channel :SoundChannel = new SoundChannel(); // звуковой канал myLoader.addEventListener("complete", xmlLoaded);  // окончание загрузки содержимого в загрузчик function xmlLoaded(_event:Event):void// окончание загрузки внешнего XML-документа {        this.list = XML(myLoader.data);         // записываем загруженный документ в объект XML     this.childs = this.list.child("item");      // в childs заносим все дочерние узлы корневого узла XML-документа     var item:XML;  // временный узел документа     count=0;     // временный узел документа     //обнуление количества файлов     //count=0;     // цикл перебора всех дочерних узлов     // цикл перебора всех дочерних узлов     for each(item in this.childs)     {this.count++; /* muzlist - экземпляр компонента List item.attributes() - все атрибуты тега - текущего рассматриваемого узла. объект класса XMLList item.attributes()[0] - значение первого атрибута (ссылка на файл) item.attributes()[1] - значение второго атрибута (название композиции) */      this. musiclist.addItem({label:item.attributes()[1], data:item.attributes()[0]});       //увеличиваем число файлов       count++     this.musiclist.selectedIndex = 0; } }// по умолчанию выбран первый элемент списка vol.addEventListener(SliderEvent.CHANGE, volHandler);//добавление функции-прослушивателя события  //перемещения ползунка слайдера vol pan.addEventListener(SliderEvent.CHANGE, panHandler) vol.value = transf.volume;//определяем значение ползунка для громкости pan.value = transf.pan;//определяем значение ползунка для панорамирования this.bPlay.addEventListener(MouseEvent.CLICK, playClick); // обработчик события нажатия кнопки play this.bPause.addEventListener(MouseEvent.CLICK, PauseClick); // обработчик события нажатия кнопки pause this.btforward.addEventListener(MouseEvent.MOUSE_DOWN,fo); this.btback.addEventListener(MouseEvent.MOUSE_DOWN,ba); this.bStop.addEventListener(MouseEvent.CLICK, StopClick); this.baaack.addEventListener(MouseEvent.CLICK, baaackClick); function  baaackClick(_event:MouseEvent) { if (this.channel) // если звуковой канал задан (звук уже воспроизводился хотя бы раз)     {         this.channel.stop(); // останавливаем воспроизведение звука в канале     }     this.gotoAndStop(1); } function playClick(_event:MouseEvent)// функция-обработчик события при нажатии на кнопку play {        if (this.channel) // если звуковой канал задан (звук уже воспроизводился хотя бы раз)     {         this.channel.stop(); // останавливаем воспроизведение звука в канале     }     this.snd = new Sound();     // обновляем объект чтобы можно было загрузить новый mp3-файл     this.musicURL.url = this.musiclist.selectedItem.data; // ссылку на mp3-файл берем из свойства data выбранной строки в списке файлов     this.snd.load(musicURL);    // загружаем mp3-файл     this.channel = this.snd.play(time,0,transf);  // воспроизведение     this.channel.addEventListener(Event.SOUND_COMPLETE, playComplete);     this.bPlay.visible=false;     this.bPause.visible=true; } function StopClick(_event:MouseEvent)//функция-обработчик события при нажатии на кнопку stop {     this.channel.stop(); // останавливаем воспроизведение звука в канале     this.time=0;     this.bPlay.visible=true;     this.bPause.visible=false; } function PauseClick(_event:MouseEvent)//функция-обработчик события при нажатии на кнопку pause {     this.time = channel.position;//помещаем в переменную значение времени на которой проигрывается песня    this.channel.stop();//стоп песня     this.bPlay.visible=true;     this.bPause.visible=false; } function fo(_ev:Event)//вперед на следующую композицию {     if (this.channel) // если звуковой канал задан (звук уже воспроизводился хотя бы раз)     {         this.channel.stop(); // останавливаем воспроизведение звука в канале     }     this.snd = new Sound();     if (this.musiclist.selectedIndex==count-1)     {this.musiclist.selectedIndex=0;}     else      {     this.musiclist.selectedIndex++;     }     this.musicURL.url = musiclist.selectedItem.data;     this.snd.load(musicURL);     //воспроизведение с полученной позиции     this.channel = this.snd.play(time,0,transf);     this.channel.addEventListener(Event.SOUND_COMPLETE, playComplete); } function ba(_ev:Event) //назад к предыдущей композиции {         if (this.channel) // если звуковой канал задан (звук уже воспроизводился хотя бы раз)     {         this.channel.stop(); // останавливаем воспроизведение звука в канале     }     this.snd = new Sound();     if (this.musiclist.selectedIndex>0)     this.musicURL.url = musiclist.selectedItem.data;     this.snd.load(musicURL);     //воспроизведение с полученной позиции     this.channel = snd.play(0,0,transf);     this.channel.addEventListener(Event.SOUND_COMPLETE, playComplete); } function volHandler(event:SliderEvent):void//функция-прослушиватель события {     transf.volume = vol.value;//трансформация громкости в соответствие со значениюем ползунка     channel.soundTransform = transf;//применение параметров трансформации } function panHandler(event:SliderEvent):void//функция-прослушиватель события {     transf.pan = pan.value;//трансформация громкости в соответствие со значениюем ползунка     channel.soundTransform = transf;//применение параметров трансформации } //функция-обработчик окончания воспроизведения function playComplete(_event:Event) {     this.channel.stop();     this.musiclist.selectedIndex++;     // обновляем объект чтобы можно было загрузить новый mp3-файл     this.snd = new Sound();        // ссылку на mp3-файл берем из свойства data выбранной строки в списке файлов     this.musicURL.url = this.musiclist.selectedItem.data;      // загружаем mp3-файл     this.snd.load(musicURL);         // воспроизведение     this.channel = snd.play(); } Очень надеюсь на Вашу помощь  |