Тема: addChild у Loader
Показать сообщение отдельно
Старый 19.05.2010, 13:18
Follower вне форума Посмотреть профиль Отправить личное сообщение для Follower Найти все сообщения от Follower
  № 7  
Ответить с цитированием
Follower
 
Аватар для Follower

Регистрация: May 2010
Сообщений: 34
По умолчанию Спасибо

Жень Шень, спасибо, в таком виде все работает:
Код AS3:
import flash.display.Loader;
 
var i,j:int;
var Url:URLRequest;
var ldr:Object = new Object;
for (i=0; i<7; i++) {
	ldr[i]=new Loader();
	ldr[i].contentLoaderInfo.addEventListener(Event.COMPLETE, imgLoaded);
}
 
Compl();
j=0;
 
function Compl():void {
	for (i=0; i<7; i++) {
		Url = new URLRequest("file:///F:/SITE/images/galery/3_3_"+String(i+1)+".jpg");
		ldr[i].load(Url);
	}
}
 
function imgLoaded(e:Event):void {
	e.target.content.height=240;
	e.target.content.width=180;
	e.target.content.x=j*180;
	j++;
	addChild(e.target.content);
}
Однако очень неудобно, что размер и положение можно изменять только после загрузки, иначе говорит, что кто-то там не должен быть null.
Нельзя ли как-то передавать в imgLoaded номер обьекта?

Код AS3:
z=int(String(e.target.url).substr(34,1))-1;
Вот так AS3 плодит индусов(

Добавлено через 2 часа 55 минут
Благодаря вашим мудрым советам отображение работает, но еще один вопрос.

Как мне так обработать нажатие на это самое отобразившееся дитя, чтобы нажатое менялось контентом с нулевым?

Если просто
Код AS3:
if (z!=0) {
	l[z].contentLoaderInfo.addEventListener(MouseEvent.CLICK, chang);
}
...
function chang(e:MouseEvent):void {
	var temp:Loader=new Loader;
	var z:int;
	z=1;
	removeChild(l[0].content);
	removeChild(l[z].content);
	temp=l[0];
	l[0]=l[z];
	l[z]=temp;
	addChild(l[0].content);
	addChild(l[z].content);
}
не работает. Переданное из e:Event вообще странное.


Последний раз редактировалось Follower; 19.05.2010 в 14:03.