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

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

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

Регистрация: Jun 2011
Сообщений: 24
По умолчанию Загрузка SWF

Всем привет!

У меня возникла проблема:
Один swf должен загружать другой swf. Он грузит все, кроме того что надо.
Не вызываются события:
Event.INIT & Event.COMPLETE
Процесс загрузки доходит до 100%

Возможно загружаемый swf не так написан, что в нем может быть такого, неправильного?)

Код AS3:
package 
{ //Это swf который должен загрузить другой
        // ... 
	public class Main extends Sprite 
	{
		[Embed(source="../img/bg.png")]
		private var BG:Class;
		private var bg:BitmapAsset = new BG();
		private var loader:Loader = new Loader();
		private var loadedText:Text = new Text('0 %', 0, 560, 800, 0xffffff);
		private var percents:Number;
		private var one_percent:Number;
		private var content:Sprite = new Sprite();
		public function Main():void 
		{
			loadedText.align('center', 800);
			loadedText.shadow = true;
			loadedText.shadow_color(0x000000);
			loadedText.size = 20;
			loadedText.bold = true;
 
			addChild(bg);
			addChild(loadedText);
			addChild(content);
 
			loader.load(new URLRequest('...url...'));
			loader.contentLoaderInfo.addEventListener(Event.OPEN, open);
			//loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, error);
		}
		private function open(e:Event):void {
			loader.contentLoaderInfo.addEventListener(Event.INIT, init);
			loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progress);
		}
		private function progress(e:ProgressEvent):void {
			one_percent = e.bytesTotal / 100;
			percents = e.bytesLoaded / one_percent;
			loadedText.update(String(Math.round(percents)) + ' %');
		}
		private function init(e:Event):void {
			loader.contentLoaderInfo.removeEventListener(Event.INIT, init);
			loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, progress);
 
			removeChild(bg);
			removeChild(loaded);
 
			content.addChild(loader.content);
		}
	}
 
}
---------------------
Может это из-за таймеров? Когда я отключил класс который использует таймеры, все заработало.


Последний раз редактировалось denisko; 19.05.2012 в 21:12.
Старый 19.05.2012, 19:04
stweet вне форума Посмотреть профиль Отправить личное сообщение для stweet Найти все сообщения от stweet
  № 2  
Ответить с цитированием
stweet
 
Аватар для stweet

Регистрация: Mar 2010
Адрес: 54.713862552265084 = 20.442724227905273
Сообщений: 449
Отправить сообщение для stweet с помощью Skype™
Рекомендую почитать про такие события как "Event.OPEN", "Event.INIT", "Event.COMPLETE". Когда и как они работают. Link
__________________
Спросишь, дурак на минуту. Если не спросишь, дурак на всю жизнь!

Старый 19.05.2012, 20:32
denisko вне форума Посмотреть профиль Отправить личное сообщение для denisko Найти все сообщения от denisko
  № 3  
Ответить с цитированием
denisko

Регистрация: Jun 2011
Сообщений: 24
stweet, в этой swf у меня вроде все нормально работает, он только не грузит другой swf(в котором возможно ошибки)

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

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
Думаю проблему решит loader.contentLoaderInfo и событие Event.COMPLETE

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

Регистрация: Jun 2011
Сообщений: 24
Разобрался!)
Названия классов swf совпадало с названиями классов swf, которого я загружал

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

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

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


 


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


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