как прикрепить свойства к динамически создаваемым мувиклипам - PullRequest
0 голосов
/ 15 марта 2011

Привет. Я пытаюсь получить доступ к свойству, щелкнув динамически созданный Moviclip.

function finishLoading(evt : Event):void {

// Handle XML Settings
XML.ignoreComments=true;
XML.ignoreWhitespace=true;

// Attach XML Data into XML Var
fXML=new XML(evt.target.data);

// Iterate XML response and build Preview List
for (var i:Number=0; i<fXML.mov.length(); i++) {

    var sTmpTitle=fXML.mov[i].mov_title.text();
    var sTmpSrc=fXML.mov[i].mov_src.text();
    var sTmpThumb=fXML.mov[i].mov_thumb.text();
    var sTmpOrder=parseInt(fXML.mov[i].mov_list_order.text());
    var iPosY:Number = (sTmpOrder!=1)?(sTmpOrder-1)*105:0;

    var sTmpLoader:Loader = new Loader();
        sTmpLoader.load(new URLRequest(sTmpThumb));

    var oTmpMc:MovieClip = new MovieClip();
        oTmpMc.addChild(sTmpLoader);
        oTmpMc.y=iPosY;
        oTmpMc.x=0;
        oTmpMc.mov_src = sTmpSrc;
        oTmpMc.addEventListener(MouseEvent.CLICK, function()
                                                    {
                                                        trace(this.mov_src);
                                                    });

        mc_slider.addChild(oTmpMc);
}

}

Создание события MOVIECLPIP и дескриптора работает хорошо, но я не знаю, как получить доступ к свойству mov_src, нажав на клип.

Что нужно сделать, чтобы это заработало.

Спасибо

Ben

1 Ответ

0 голосов
/ 15 марта 2011

Прежде всего, вы не должны добавлять динамические свойства в мувиклипы, это плохая привычка из AS2.Вы должны расширить класс MovieClip и добавить нужные свойства.В любом случае, вы можете сделать то, что вы хотите сделать, переведя ваш обратный вызов:

...
        oTmpMc.addEventListener(MouseEvent.CLICK, onClipClicked);

        mc_slider.addChild(oTmpMc);
}

private function onClipClicked(e:Event):void
{
        var clip:MovieClip = e.currentTarget as MovieClip;
        trace(clip.mov_src);
}
...