我正在尝试动态补间我的SWF中的一些动画片段但是动态创建的名称有问题。这是代码
function slidePhoto(e:TimerEvent):void {
i = "i3";
movieClip = i as Object;
Tweener.addTween(movieClip,{x:0, y:0, transition:"easeInOutQuint", time:1, onComplete:waitMe, onCompleteParams:[4000, slideOutPhoto]});
}
即使我宣布
var i:String = "i";
var movieClip:Object;
然后
movieClip = i+3;
这不起作用,但如果我追踪movieClip我得到“i3”???这是铸造问题还是我在某个地方非常错误?
答案 0 :(得分:2)
试试这个:
function slidePhoto(e:TimerEvent):void {
i = "i3";
movieClip = getChildByName(i);
Tweener.addTween(movieClip,{x:0, y:0, transition:"easeInOutQuint", time:1, onComplete:waitMe, onCompleteParams:[4000, slideOutPhoto]});
}
在此参考页面找到getChildByName:
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/DisplayObjectContainer.html
这不是一个转换问题,您只需要根据i中包含的名称找到DisplayObject。