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

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

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

Регистрация: Dec 2011
Сообщений: 15
По умолчанию Загрузка картинок в Vector

Доброго времени суток.
Есть текстовый документ, например, "Трололо |img+1.png+500+400| " и функция, которая разбивает разбивает эту строку на массив, определяет, где текст, а где будет картинка(и), грузит картинку(и) и добавляет все в groupVector.
Нужно, что бы нормально работали imgloader.width & imgloader.height.
Для этого, как я понял, нужно добавить слушатель:
Код AS3:
imgloader.addEventListener(Event.COMPLITE, trololo)
Но как реализовать это так, что бы сохранить очередность добавления элементов в groupVector?

Функция выглядит так:
Код AS3:
elements = str.split("|");
for (var j:uint = 0; j < elements.length; j++) {
	var n:uint = Math.round(j / 2 - Math.floor(j / 2));
	if (n == 0 && elements[j] != "") {
		var textElement:TextElement = new TextElement(elements[j], ef);
		groupVector.push(textElement);
	}
 
	if (n == 1) {
	str = elements[j];
	imagein = str.split("+");
	var imgloader:Loader = new Loader();
	var request:URLRequest = new URLRequest("media/" + imagein[1]);
 
	if (imagein[0] == "img") {
		imgloader.load(request, null);
	} else if (imagein[0] == "swf") {
		var appDomain:ApplicationDomain = new ApplicationDomain();
		var context:LoaderContext = new LoaderContext(false, appDomain);
		imgloader.load(request, context);
	}
 
	var obj:Sprite = new Sprite();
	var swidth:Number = imagein[2];
	var sheight:Number = imagein[3];;
 
	obj.addChild(imgloader);
	imgloader.x = margin / 2;
	imgloader.y = margin / 2;
	obj.graphics.lineStyle(1, 0x000000, 1);	
        obj.graphics.beginFill(0xFFFFFF, 0);
	obj.graphics.drawRect(0, 0, swidth + margin, sheight + margin);
	obj.graphics.endFill();
 
	var graphicElement:GraphicElement = new GraphicElement(obj, obj.width, obj.height, ef);
	groupVector.push(graphicElement);
 }

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

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

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


 


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


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