Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.12.2009, 01:40
Killer_13 вне форума Посмотреть профиль Отправить личное сообщение для Killer_13 Найти все сообщения от Killer_13
  № 1  
Ответить с цитированием
Killer_13
 
Аватар для Killer_13

Регистрация: Jan 2007
Сообщений: 302
Cool Загрузка нескольких swf через XML и заброс ссылок на элементы в массив - пример?

Загрузка нескольких swf через XML и заброс ссылок на элементы в массив - соственно ищу пример, а то начал сам клепать, че т не оч выходит?

Пасиб.

Старый 09.12.2009, 02:15
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 2  
Ответить с цитированием
bicubic_bublic
Banned
[+4 25.09.09]
[+1 12.11.09]
[+4 12.12.09]

Регистрация: Sep 2009
Сообщений: 231
Код AS3:
var loaded:Array = [];
public function loadMovie(url:String):void {
   var loader:Loader = new Loader();
   loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onMovieLoaded);
   loader.load(new URLRequest(url));
}
public function onMovieLoaded(e:Event):void {
   loaded.push((e.currentTarget as LoaderInfo).content);
}

Старый 09.12.2009, 02:37
Killer_13 вне форума Посмотреть профиль Отправить личное сообщение для Killer_13 Найти все сообщения от Killer_13
  № 3  
Ответить с цитированием
Killer_13
 
Аватар для Killer_13

Регистрация: Jan 2007
Сообщений: 302
Че т я неправильно делаю..

Цитата:
Error #2044: Необработанный IOErrorEvent:. text=Error #2124: Неизвестный тип загруженного файла.
mov.xml в скобочках поставил вместо url
Код AS3:
<?xml version="1.0"?>
<mover>
	<mov id="1">
		<datname>Soviet.swf</datname>
		<autname>Сталин</autname>
		<movname>Взрыв атомной бомбы Soviet</movname>
	</mov>
	<mov id="2">
		<datname>Trinity.swf</datname>
		<autname>Neo</autname>
		<movname>Взрыв атомной бомбы Trinity</movname>
	</mov>
	<mov id="3">
		<datname>Underwater.swf</datname>
		<autname>Водная бомбочка</autname>
		<movname>Взрыв атомной бомбы Underwater</movname>
	</mov>
</mover>
немогу оттрасировать обращение к элементу массива...
Код AS3:
 function onMovieLoaded(e:Event):void {
   			loaded.push((e.currentTarget as LoaderInfo).content);
   			trace("Mov ID -> "+loaded[1]);
}


Последний раз редактировалось Killer_13; 09.12.2009 в 02:40.
Старый 09.12.2009, 02:45
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 4  
Ответить с цитированием
bicubic_bublic
Banned
[+4 25.09.09]
[+1 12.11.09]
[+4 12.12.09]

Регистрация: Sep 2009
Сообщений: 231
Код AS3:
trace("Mov ID -> ", loaded[loaded.length - 1]);

Старый 09.12.2009, 02:49
Killer_13 вне форума Посмотреть профиль Отправить личное сообщение для Killer_13 Найти все сообщения от Killer_13
  № 5  
Ответить с цитированием
Killer_13
 
Аватар для Killer_13

Регистрация: Jan 2007
Сообщений: 302
воть...
не идет..
Код AS3:
package {
 
	import flash.display.*;
	import flash.display.Loader; 
	import flash.display.LoaderInfo; 
	import flash.net.*; 
	import flash.events.*; 
	import flash.events.ProgressEvent; 
 
	public class VideoLoader extends Sprite {
 
		private var loadStatus:TextField = new TextField();
		public var loaded:Array = [];
 
		public function VideoLoader(nr:int) {
 
			trace("Mov1 -> "+nr);
			 var loader:Loader = new Loader();
   				 loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onMovieLoaded);
  				 loader.load(new URLRequest("mov.xml"));
 
		} 
 
		 function onMovieLoaded(e:Event):void {
 
   			loaded.push((e.currentTarget as LoaderInfo).content);
   			trace("Mov ID -> ", loaded[loaded.length - 1]);
		 }
	}
}
та же ошибка

Старый 09.12.2009, 03:07
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 6  
Ответить с цитированием
bicubic_bublic
Banned
[+4 25.09.09]
[+1 12.11.09]
[+4 12.12.09]

Регистрация: Sep 2009
Сообщений: 231
ладненько...
то что я выложил - это половина программы, отвечающая за загрузку одного мувиклипа - все что нужно было это загрузить xml и выдрав из него ссылки на мувики отправить их на функцию loadMovie

вот расширенный код.. для загрузки xml...
Код AS3:
public function loadMoviesXML(xmlUrl:String):void {
   var loader:URLLoader = new URLLoader();
   loader.addEventListener(Event.COMPLETE, onMoviesXMLLoad);
   loader.load(new URLRequest(xmlUrl));
}
private function onMoviesXMLLoad(e:Event):void {
   var xmlData:XML = new XML((e.target as URLLoader).data);
   var movies:XMLList = xmlData..datname;
   for (var i:int = 0; i < movies.length(); i++) {
      loadMovie(movies[i].toString());
   }
}
останется только вызвать loadMoviesXML("mov.xml");

Старый 09.12.2009, 03:21
Killer_13 вне форума Посмотреть профиль Отправить личное сообщение для Killer_13 Найти все сообщения от Killer_13
  № 7  
Ответить с цитированием
Killer_13
 
Аватар для Killer_13

Регистрация: Jan 2007
Сообщений: 302
неизвесный метод "loadMovie"

Старый 09.12.2009, 03:34
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 8  
Ответить с цитированием
bicubic_bublic
Banned
[+4 25.09.09]
[+1 12.11.09]
[+4 12.12.09]

Регистрация: Sep 2009
Сообщений: 231
Цитата:
Сообщение от Killer_13 Посмотреть сообщение
неизвесный метод "loadMovie"
да епрст...
Код AS3:
package {
 
   import flash.display.Sprite;
   import flash.display.Loader; 
   import flash.display.LoaderInfo; 
   import flash.net.URLLoader; 
   import flash.net.URLRequest; 
   import flash.events.Event;
 
   public class VideoLoader extends Sprite {
 
      private var loadStatus:TextField = new TextField();
      public var loaded:Array = [];
 
      public function VideoLoader() {
         loadMoviesXML("mov.xml");
      }
 
      public function loadMovie(url:String):void {
         trace('Load new movie: ', url);
         var loader:Loader = new Loader();
         loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onMovieLoaded);
         loader.load(new URLRequest(url));
      }
 
      private function onMovieLoaded(e:Event):void {
         loaded.push((e.currentTarget as LoaderInfo).content);
         trace('Movie Loaded #', loaded.length, (e.currentTarget as LoaderInfo).content);
      }
 
      public function loadMoviesXML(xmlUrl:String):void {
         trace('Load XML', xmlUrl);
         var loader:URLLoader = new URLLoader();
         loader.addEventListener(Event.COMPLETE, onMoviesXMLLoad);
         loader.load(new URLRequest(xmlUrl));
      }
 
      private function onMoviesXMLLoad(e:Event):void {
         trace('XML loaded');
         var xmlData:XML = new XML((e.target as URLLoader).data);
         var movies:XMLList = xmlData..datname;
         for (var i:int = 0; i < movies.length(); i++) {
            loadMovie(movies[i].toString());
         }
      }
   }
}

Старый 09.12.2009, 03:49
Killer_13 вне форума Посмотреть профиль Отправить личное сообщение для Killer_13 Найти все сообщения от Killer_13
  № 9  
Ответить с цитированием
Killer_13
 
Аватар для Killer_13

Регистрация: Jan 2007
Сообщений: 302
Ура! Пас! Работает.
Сейчас наверное глупый еще один вопрос задам...

Из другого класса хочу вызвать произвольное видео из массива.
соответственно создю экземпляр этого класса и обращаюсь к элементу массива, - потом ложу в контейнер, ... опять че т не так...

Код AS3:
        public var v:VideoLoader = new VideoLoader;
		public var cVideo:Sprite = new Sprite();
 
		public function Main(){
 
			this.addChild(cVideo);
			cVideo.addChild(v.loaded[1]);
 
			cVideo.x = 160;
			cVideo.y = 50;
 
		}


Последний раз редактировалось Killer_13; 09.12.2009 в 03:51.
Старый 09.12.2009, 04:00
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 10  
Ответить с цитированием
bicubic_bublic
Banned
[+4 25.09.09]
[+1 12.11.09]
[+4 12.12.09]

Регистрация: Sep 2009
Сообщений: 231
немного исправляем VideoLoader

Код AS3:
public function VideoLoader () {
}
private function onMovieLoaded(e:Event):void {
   loaded.push((e.currentTarget as LoaderInfo).content);
   trace('Movie Loaded #', loaded.length, (e.currentTarget as LoaderInfo).content);
   dispatchEvent(new Event(Event.COMPLETE)); // создаем событие на загрузку
}
в мейне:
Код AS3:
public var v:VideoLoader = new VideoLoader;
public function Main(){
   v.addEventListener(Event.COMPLETE, onVideoLoad); // подписываемся на созданное событие загрузки
   v.loadMoviesXML("mov.xml");
}
private function onVideoLoad(e:Event):void {
   v.removeEventListener(Event.COMPLETE, onVideoLoad);
   var video:DisplayObject = v.loaded[0]; // массивы начинаются с ноля!
   addChild(video);
   video.x = 160;
   video.y = 50;
}

Создать новую тему Ответ Часовой пояс GMT +4, время: 18:20.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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