您好我尝试通过点击动态创建的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。
如何使其发挥作用。
谢谢
本
答案 0 :(得分:0)
首先,你不应该为动画片段添加动态属性,这是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);
}