Dr_Bra
20.02.2010, 00:48
Всем здравствуйте!)
У меня сложный вопрос.
Вкрадце опишу ситуацию: есть XML, он содержит 3 чайлда и эти чайлды имеют около 10 параметров. Мы загружаем эту xml-ку, загружаем на сцену 3 ее чайлда в виде их первого параметра (тоесть -иконки). И при клике на одну из этих иконок, нам нужно обратиться к xml-у и загрузить новые параметры того чайлда на которого кликнули.
У меня получается получается обращаться к нужным параметрам, но не получается их загружать в клип. Помогите, плиз, разобраться
import actionScript.PopUpManager;
import flash.display.Sprite;
var xmlLoader:URLLoader=new URLLoader(new URLRequest("xml.xml"));
var xmlData:XML;
var xmlList:XMLList;
xmlLoader.addEventListener(Event.COMPLETE, getXML);
function getXML(e:Event):void
{
xmlData=XML(e.target.data);
xmlList=xmlData.children();
for (var i:int = 0; i < xmlList.length(); i++)
{
var personIcon:MovieClip = new MovieClip();//здесь я пытаюсь создать объекты для новых параметров, которые нужно загрузить
var imgSmall:MovieClip = new MovieClip();
var picLoader:Loader = new Loader();
picLoader.load(new URLRequest(xmlList[i].attributes()[0])); //ссылка на иконки
picLoader.x=20;
picLoader.y=65*i+20;
picLoader.name=xmlList[i].attributes()[1];//вот эту хитрость применили как-то но она работает только для щдного параметра (
imgSmall.name=xmlList[i].attributes()[2];//имя второго параметра (картинка)
trace(imgSmall.name);//ссылка выводится правильная, но как ее загрузить в следующей функции?
addChildAt(picLoader, 0); //--наши иконки
picLoader.addEventListener(MouseEvent.CLICK, showCard);
}
}
function showCard(e:MouseEvent):void
{
var container:Sprite = new Sprite();
addChildAt(container, 1);
var card_mc:PopUpManager = new card();
container.addChild(card_mc);
container.setChildIndex(card_mc, 0);
container.name="myContainer";
var picLoader:Loader = new Loader();//вот тут - то он и загружает только тот самый один парамтр
picLoader.load(new URLRequest(e.target.name));
card_mc.photoSmall_mc.addChild(picLoader);
container.x=stage.stageWidth/2-container.width/2;
container.y=stage.stageHeight/2-container.height/2-550;
}
У меня сложный вопрос.
Вкрадце опишу ситуацию: есть XML, он содержит 3 чайлда и эти чайлды имеют около 10 параметров. Мы загружаем эту xml-ку, загружаем на сцену 3 ее чайлда в виде их первого параметра (тоесть -иконки). И при клике на одну из этих иконок, нам нужно обратиться к xml-у и загрузить новые параметры того чайлда на которого кликнули.
У меня получается получается обращаться к нужным параметрам, но не получается их загружать в клип. Помогите, плиз, разобраться
import actionScript.PopUpManager;
import flash.display.Sprite;
var xmlLoader:URLLoader=new URLLoader(new URLRequest("xml.xml"));
var xmlData:XML;
var xmlList:XMLList;
xmlLoader.addEventListener(Event.COMPLETE, getXML);
function getXML(e:Event):void
{
xmlData=XML(e.target.data);
xmlList=xmlData.children();
for (var i:int = 0; i < xmlList.length(); i++)
{
var personIcon:MovieClip = new MovieClip();//здесь я пытаюсь создать объекты для новых параметров, которые нужно загрузить
var imgSmall:MovieClip = new MovieClip();
var picLoader:Loader = new Loader();
picLoader.load(new URLRequest(xmlList[i].attributes()[0])); //ссылка на иконки
picLoader.x=20;
picLoader.y=65*i+20;
picLoader.name=xmlList[i].attributes()[1];//вот эту хитрость применили как-то но она работает только для щдного параметра (
imgSmall.name=xmlList[i].attributes()[2];//имя второго параметра (картинка)
trace(imgSmall.name);//ссылка выводится правильная, но как ее загрузить в следующей функции?
addChildAt(picLoader, 0); //--наши иконки
picLoader.addEventListener(MouseEvent.CLICK, showCard);
}
}
function showCard(e:MouseEvent):void
{
var container:Sprite = new Sprite();
addChildAt(container, 1);
var card_mc:PopUpManager = new card();
container.addChild(card_mc);
container.setChildIndex(card_mc, 0);
container.name="myContainer";
var picLoader:Loader = new Loader();//вот тут - то он и загружает только тот самый один парамтр
picLoader.load(new URLRequest(e.target.name));
card_mc.photoSmall_mc.addChild(picLoader);
container.x=stage.stageWidth/2-container.width/2;
container.y=stage.stageHeight/2-container.height/2-550;
}