Просмотр полной версии : addChild in for loop!
Пытаюсь добавить несколько клипов сформированных из XML.
Остается только последний:
for (var bNm:String in buttonsXML.factory){
var btnClip = new MovieClip();
btnClip.name = buttonsXML.factory[bNm].id;
btnClip.x = buttonsXML.factory[bNm].xcords;
btnClip.y = buttonsXML.factory[bNm].ycords;
btnClip.addChild(iconLoader.content);
addChild(btnClip);
}
Хотя по идее каждый раз при каждом новом цикле переменная btnClip должна быть заново создана.
Что я делаю неправильно?
Да, классов Вы должны много насоздавать,
только вот сомневаюсь в правильности обхода buttonsXML.factory (Вы бы xml-ку, что парсите, выложили), есть ощущение, что все узлы в строковом виде (bNm:String) имеют одинаковое значение, поэтому buttonsXML.factory[bNm] возвращает одно и то же.
Попробуйте потрейсить buttonsXML.factory[bNm].xcords, например и bNm в теле цикла.
cleptoman
02.11.2010, 00:58
var xml:XML;
var list:XMLList = buttonsXML.factory;
for each(xml in list){
var btnClip = new MovieClip();
btnClip.name = xml.id;
btnClip.x =xml.xcords;
btnClip.y = xml.ycords;
btnClip.addChild(iconLoader.content);// вот тут видимо и ошибка..вы просто в каждой итерации контент вытаскиваете из контейнера и суеет в следующий
addChild(btnClip);
}
Да действительно похоже что так! Если добавлять Circle то все ок!
В связи с этим вопрос а как быть? Как то надо перенаправить iconLoader.content
в разные MovieClip?
cleptoman
02.11.2010, 11:55
про клонирование загруженного контента тут тем море поднималось. поищите
Спасибо, все нашел!
Чтобы тема не пропадала зря, вот что получилось:
var iconImg:BitmapData = Bitmap(iconLoader.content).bitmapData;
for (var bNm:String in buttonsXML.factory)
{
//trace(buttonsXML.factory[bNm].@Name);
var btnClip:MovieClip = new MovieClip();
btnClip.name = buttonsXML.factory[bNm].id;
btnClip.x = buttonsXML.factory[bNm].xcords;
btnClip.y = buttonsXML.factory[bNm].ycords;
btnClip.addChild(new Bitmap(iconImg,"auto",true));
btnClip.buttonMode = true;
addChild(btnClip);
}
Нашел вот тут: http://www.flasher.ru/forum/showthread.php?t=142076&highlight=%EA%EB%EE%ED%E8%F0%EE%E2%E0%ED%E8%E5
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.