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

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

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

Регистрация: Sep 2009
Сообщений: 65
По умолчанию Проблема с Loader

Добрый день,

в папке лежит 3 файла:
preloader.swf,
game.swf,
banner.swf


Есть preloader.swf, который загружает game.swf и добавляет его на сцену.

Здесь всё ок. Всё загружается и работает.
Дальше,
Скажем, в game.swf есть на сцене два спрайта: gameContent и bannerContainer

В какой-то момент(например, по кнопке) game.swf должен загрузить banner.swf и добавить его в bannerContainer. Для этого в одном из методов game.swf... короче, вот он:

Код AS3:
		private function loadBanner(url:String):void {
			var lr:Loader = new Loader();
			var complete:Function = function(e:Event):void {
				log.msg("loading banner complete");
				lr.contentLoaderInfo.removeEventListener(Event.COMPLETE, complete);
				lr.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, ioerr);
				lr.contentLoaderInfo.removeEventListener(IOErrorEvent.NETWORK_ERROR, ioerr);
				bannerContainer.addChild(lr);
			}
			var ioerr:Function = function(e:IOErrorEvent):void {
				lr.contentLoaderInfo.removeEventListener(Event.COMPLETE, complete);
				lr.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, ioerr)
				lr.contentLoaderInfo.removeEventListener(IOErrorEvent.NETWORK_ERROR, ioerr)
				log.msg("IOError loading Banner: "+e);
			}			
 
			lr.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
			lr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioerr)
			lr.contentLoaderInfo.addEventListener(IOErrorEvent.NETWORK_ERROR, ioerr)
			var req:URLRequest = new URLRequest("banner.swf");
			try {
				lr.load(req);
			} catch (err:Error) { log.msg("Error loading banner: "+err); }			
		}
Вот тут начинается что-то странное. В bannerContainer добавляется еще один game.swf...

Причём, в IDE всё ок.
Но в инете происходит такой вот косяк. Уже голову сломал. Ошибки секурности не бросаются.
Все swf имеют одинаковый fps, если что.

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Код AS3:
try {
	lr.load(req);
} catch (err:Error) { log.msg("Error loading banner: "+err); }
Это бессмысленная конструкция, т.к. метод load никогда не выбросит исключение

По поводу загрузки одного в другое - попробуйте дать документ-классам всех swf-файлов разные названия

Цитата:
Все swf имеют одинаковый fps, если что.
Всем загруженным swf-кам выставляется fps корневой флешки (то есть той, которая в себя грузит все остальные)
__________________
...вселенская грусть

Старый 09.02.2011, 17:52
Idon вне форума Посмотреть профиль Отправить личное сообщение для Idon Найти все сообщения от Idon
  № 3  
Ответить с цитированием
Idon

Регистрация: Sep 2009
Сообщений: 65
gloomyBrain, спасибо! Разные имена документ-классов решили проблему

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
можно было грузить внешние флешки в разные домены

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Это явно выходит за рамки приведенного выше кода =)
__________________
...вселенская грусть

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

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

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


 


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


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