As3 - 具有无限参数的函数如Movieclip?

时间:2013-07-07 22:42:49

标签: actionscript-3 variables arguments

我想传递给一个函数不确定数量的动画片段,就像这样

    function Test(...args)
    {
        for(var item in args){
             item.x = 100;
        }
    }

但是使用这种方法不起作用,任何解决方案?

2 个答案:

答案 0 :(得分:4)

你几乎就在那里,你只需要使用for each循环来使你的例子正常工作:

function Test(...args)
{
    for each(var item:MovieClip in args)
    //  ^^^^
    {
         item.x = 100;
    }
}

但更好的方法是接受持有MovieClip的ArrayVector。这将极大地提高您的代码的可读性:

function Test(list:Vector.<MovieClip>)
{
    for each(var item:MovieClip in list)
    {
         item.x = 100;
    }
}

答案 1 :(得分:0)

使用arguments;请参阅Adobe Reference docs(针对AS3),MDN(针对JS)或this example jsfiddle(针对工作示例)。

[注意:问题最初标记为JS,留下javascript / jsfiddle以供参考]