![]() |
|
||||||||||
|
|||||
|
[+6 07.09.07]
|
проблема с получением ссылки на созданный объект класса Loader
Вот код: var matx = 5;
//Кол-во фотографий по вертикали
var maty = 5;
//Ширина превью
var prew = 75;
//Высота превью
var preh = 75;
var g_xml = new XML();
g_xml.ignoreWhite=true;
System.useCodepage = true;
g_xml.onLoad = onLoadXML;
g_xml.load('items.xml');
function onLoadXML(success:Boolean):Void
{
if(success){
/*
Итак, тут будут распологаться описания тегов и их аттрибутов(+ предназначение).
--- <foto name='' href=''> - Главный тег, отвечающий за фотографию.
name - уникальное имя, href - ссылка
*/
var firstN:XMLNode = g_xml.firstChild;
var nCount:Number = firstN.childNodes.length;
var mcArray:Array = [];
for(var i=0;i<nCount and i<(matx*maty);i++)
{
if(firstN.childNodes[i].nodeName=='foto'){
_root.createClassObject(mx.controls.Loader, "l"+i, i+1000);
mcArray.push(_root["l"+i]);
trace(mcArray[i]);
//mcArray[i].loadMovie(mcArray[i].loadMovie(firstN.childNodes[i].attributes.href,firstN.childNodes[i].attributes.name) );
}//if
} // for
}
}
__________________
Flash - newbie :dunno: |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
А где вы пытаетесь к нему обратится?
|
|
|||||
|
[+6 07.09.07]
|
это интуитивная запись,т.к. не знаю как получить ссылку на сзданный объект,ибо ф-ия не возращает ничего
__________________
Flash - newbie :dunno: |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Попробуйте эту строчку
заменить на эту
.
|
|
|||||
|
Цитата:
Returns A UIObject object that is an instance of the specified class. c push тоже верно. Еще меня _root смущает спереди у create
__________________
"We Are The Champions My Friends!" Queen |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
CorC, push у него идет в условном операторе, поэтому мувик, теоретически, не всегда будет добавляться в массив, поэтому дальше при обращении mcArray[i], если к примеру хотя-бы в одной итерации, не было добавлено мувика в массив, будет возвращаться undefined.
|
|
|||||
|
[+6 07.09.07]
|
2udaff, Кажется нет, вроде как(я не могу в AS утверждать ничего на 100%) пушится в первый незаполненный жэлемент,т.е. в верх.
=> если вы пропускаем то ничего не теряется, а обращение через mcArray[i] = _root["l"+i] Наоборот даст пустые элементы. Цитата:
__________________
Flash - newbie :dunno: |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
В этой стоке trace(mcArray[i]) вы обращаетесь к элементу по номеру i, и если, допустим, в массив добавлено лишь 3 элемента (при помощи метода push), а у вас идет пятая итерация, т.е. i == 4, получается, что вы обращаетесь к пятому элементу массива, а их только три.
PS: usage - это использование, а не return, про возвращаемый результат, написано далее, собственно, то, что и написал CorC: Returns A UIObject object that is an instance of the specified class. |
|
|||||
|
[+6 07.09.07]
|
я по прежнему не понимаю кое-чего
![]() если все вышенаписанное мной верно(кропе trace'a , но это тоже верно, ибо проверка пока-что всегда выполняется) то мне нужно редактировать св-ва созданного лодера, а конкретно X Y WIDTH и HEIGHT. не подскажете. ? trace(_root["l"+i]); не помогает, там выводит андефайнд.
__________________
Flash - newbie :dunno: |
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
А этот Loader в библиотеке-то есть? Попробуйте:
А потом, вне цикла, потрейсить весь массив. ..или вообще так: И да, useCodePage уберите, а xml сохраните как utf-8 |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:24. |
|
|
« Предыдущая тема | Следующая тема » |
|
|