AS3: вернуть мувиклип из функции - PullRequest
1 голос
/ 03 июня 2011

Извините, если на этот вопрос уже был дан ответ, но я не могу найти соответствующие примеры в Интернете.В основном у меня есть класс, который загружает набор объектов MovieClip и предоставляет функции доступа для их возврата.

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

        return true;
    }
    else
    {
        return false;
    }
}

Очевидно, что это не работает, но дает представление о том, что я пытаюсь сделать.Я хочу вернуть мувиклип к вызывающему коду, только если объект был загружен.

Ответы [ 2 ]

1 голос
/ 04 июня 2011

Вы не можете изменить такой параметр. Вместо этого верните мувиклип так:

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

И тогда вы можете просто использовать его так, даже читая мувиклип:

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.
}
1 голос
/ 04 июня 2011

Попробуйте это:

// 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;
    }
}

Звездочкой обозначено, что тип возвращаемых данных неизвестен, и мы оба можем быть булевыми как мувиклип.

Если allFilesLoaded возвращает mc (MovieClip), в противном случае возвращается false (Boolean).

Надеюсь, это поможет.

...