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

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

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

Регистрация: Jan 2009
Сообщений: 1,651
По умолчанию загрузка swf с помощью URLLoader

Вот, скажем, с помощью URLLoader у меня загружается множество разных материалов. В том чесле несколько swf. И хочу я этот swf на сцене отобразить. Как мне это сделать?

вроде должен быть код, похожий на этот, но не выходит =/
Код AS3:
...
var loader:URLLoader = new URLLoader (new URLRequest("1.swf"));
loader.addEventListener (Event.COMPLETE, loadCompleteHandler);
...
 
		private function loadCompleteHandler (e:Event):void {
			var loader:URLLoader = e.target as URLLoader;
			loader.dataFormat = URLLoaderDataFormat.BINARY;
			var l:Loader = new Loader();
			l.loadBytes(loader.data);
}
__________________
мой пустой блог


Последний раз редактировалось iflamberg; 08.01.2013 в 17:49.
Старый 08.01.2013, 15:08
strangedk вне форума Посмотреть профиль Отправить личное сообщение для strangedk Найти все сообщения от strangedk
  № 2  
Ответить с цитированием
strangedk
 
Аватар для strangedk

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
Нужно подписываться на событие до того как оно может возникнуть:

Код AS3:
var request:URLRequest = new URLRequest("1.swf");
var loader:URLLoader = new URLLoader ();
loader.addEventListener (Event.COMPLETE, loadCompleteHandler);
 
loader.load(request);
И кстати, а почему бы вам не грузить сразу Loader'ом, без бубнов?
__________________
adobe AS3 manual

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
вроде должен быть код, похожий на этот, но не выходит =/
А какой код есть и что именно не выходит? И кстати, убедитесь в наличии addChild(loader),так тоже бывает =)
__________________
...вселенская грусть

Старый 08.01.2013, 15:32
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 4  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
2strangedk:
Что-то ты не то говоришь. Событие всегда возникает в следующем кадре, даже если грузить из локальной файловой системы, это 100%. Код всегда отработает, где бы ты не вешал слушатель, до запуска загрузки или после. В том коде, что у меня в примере, если сделать trace (loader.data); в loadCompleteHandler, то увидишь данные.
Почему бы не грузить сразу Loader'ом? Ну не знаю. Я хотел сделать что-то типа универсального загрузчика, что-то аналогичное либе BulkLoader, но свое. Грузить все подряд URLLoader'ом, а потом уже преобразовывать показалось годной идеей.
2gloomyBrain:
вот такой код, что в примере и есть. А ошибка возникает на l.loadBytes(ba); А addChild мне и не нужен. Потому что из загруженной флешки я планирую взять отдельные именованные мувики и перенести их на сцену. И, да, это работает, если заменить URLLoader обычным Loader'ом.
__________________
мой пустой блог

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

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
Цитата:
Сообщение от iflamberg Посмотреть сообщение
2strangedk:
Что-то ты не то говоришь. Событие всегда возникает в следующем кадре, даже если грузить из локальной файловой системы, это 100%. Код всегда отработает, где бы ты не вешал слушатель, до запуска загрузки или после.
А, так. Ну ок, удачной отладки
__________________
adobe AS3 manual

Старый 08.01.2013, 16:05
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 6  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Сообщение от iflamberg Посмотреть сообщение
А ошибка возникает на l.loadBytes(ba);
Номер и описание ошибки предлагаете устанавливать телепатически?
__________________
משיח לא בא
משיח גם לא מטלפן

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

Регистрация: Jan 2009
Сообщений: 1,651
О, код ошибки. Извеняюсь. Просто подумал, что, раз некоторые гуру вроде _etc, умеют выкусывать из загруженной флешки шрифты или программно создавать MovieClip с несколькими кадрами, то моя ошибка для них должна быть очевидна.
А там "дурная" ошибка.
Цитата:
[Fault] exception, information=TypeError: Error #1034: Ошибка типа Coercion: невозможно преобразовать "CWSèçxœäœX“Y·¨W¡„" ¡ H‚tP@tB/‚BHè ½IS:¨ÄÐDŠF,€JUDQDTtÄ2:ãÝÁ™¿ÜSîï9÷œÿ¹÷yæ}&|ÙßþÖ^{*µ×úöŽI€Û°¦@ÂðãZ!€ÉÞÀ`c²…•\RdDT¬1úk«Bh\\Œ±–Vbb¢f¢žfôÞ-###-m]-]]
ÔB#69*Î/I#*VQa›ÜjA±{Ãb⢣äØûùGÇÇmUPø£ۤȘ¿t«éí¤©•䣥£©*Åî526ßä½—±͔ÝJÎ*Â/6TÎqotpPl,êÞ/BÎÜy“œ†œ|*
---прикоцано позже---
А, понял. Нужно было всего лишь
Код AS3:
			var l:Loader = new Loader();
			l.loadBytes(loader.data);
исправить чуть-чуть
Код AS3:
			var l:Loader = new Loader();
			l.loadBytes(ByteArray(loader.data));
__________________
мой пустой блог

Старый 08.01.2013, 17:58
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 8  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Умение программно создавать MovieClip и получение информации из graphics не предполагают наличие телепатических способностей.
__________________
משיח לא בא
משיח גם לא מטלפן

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
А так сработает?
Код AS3:
var loader:URLLoader = new URLLoader ();
loader.dataFormat = URLLoaderDataFormat.BINARY;
loader.addEventListener (Event.COMPLETE, loadCompleteHandler);
loader.load(new URLRequest("1.swf"));
 
function loadCompleteHandler (e:Event):void {
	var loader:URLLoader = e.target as URLLoader;
	var l:Loader = new Loader();
	l.loadBytes(loader.data as ByteArray);
}


Последний раз редактировалось caseyryan; 08.01.2013 в 23:24.
Старый 08.01.2013, 22:05
GoodWin74 вне форума Посмотреть профиль Отправить личное сообщение для GoodWin74 Найти все сообщения от GoodWin74
  № 10  
Ответить с цитированием
GoodWin74
 
Аватар для GoodWin74

Регистрация: Jun 2009
Сообщений: 81
По теме Loader подскажите, пожалуйста. Загрузил SWF с 3 кадрами с помощью Loader и добавил на сцену. Как управлять кадрами(остановка, переход на какой то кадр и тд)?
Пробовал Loader.content.gotoAndStop(0) не получается ...

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

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

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


 


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


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