再次铸造问题

时间:2009-11-04 21:40:31

标签: flash actionscript-3

我正在尝试动态补间我的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”???这是铸造问题还是我在某个地方非常错误?

1 个答案:

答案 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。