AS3:从Function返回MovieClip

时间:2011-06-03 19:38:41

标签: actionscript-3 return movieclip

很抱歉,如果这个问题已经得到解答,但我似乎无法在网上找到任何相关的例子。我基本上有一个类,它加载一组MovieClip对象,并提供访问函数来返回它们。

public function getMovieClip( mc:MovieClip ):Boolean
{
    if( allFilesLoaded )
    {
        mc = fileLoader.content;

        return true;
    }
    else
    {
        return false;
    }
}

显然这不起作用,但它会让我知道我正在尝试做什么。我想只在加载了对象时才将MovieClip返回给调用代码。

2 个答案:

答案 0 :(得分:1)

试试这个:

// change the allFilesLoaded value to view the other result
var allFilesLoaded:Boolean = true;

trace(getMovieClip(null) );

function getMovieClip( mc:* ):*
{
    if( allFilesLoaded )
    {
        mc = new MovieClip();

        return mc;
    }
    else
    {
        return false;
    }
}

星号表示返回的数据类型未知,我们都可以作为MovieClip布尔。

如果allFilesLoaded然后返回mc(MovieClip),否则返回false(布尔值)。

希望有所帮助。

答案 1 :(得分:1)

您无法像这样修改参数。相反,像这样返回MovieClip:

public function getMovieClip():MovieClip
{
    if ( allFilesLoaded )
    {
        return fileLoader.content;
    }
    else
    {
        return null;
    }
}

然后你就可以像这样使用它,即使阅读了MovieClip:

var mc:MovieClip; // defined somewhere

// later...
if ( ( mc = x.getMovieClip() ) )
{
    // all files were loaded and mc is not null.
}
else
{
    // files were not loaded and mc is null.
}