остановить мувиклип, когда он достигает определенного кадра - PullRequest
0 голосов
/ 27 января 2012

Я создал видеоклип, имеющий 120 кадров.

Теперь я использовал несколько экземпляров этого мувиклипа на сцене.

Я хочу, чтобы каждый мувиклип останавливался, когда достигал определенного кадра. (номер кадра различен для всех экземпляров)

я попробовал следующий код

if (char_1.currentFrame == 36) {char_1.stop();}

но это не работает. я пытался отследить текущий кадр, и он всегда показывает 1.

trace(char_1.currentFrame);

Любое решение, пожалуйста?

1 Ответ

0 голосов
/ 27 января 2012

попробуйте что-то вроде этого:

// root
var allMCs:Dictionary = new Dictionary();
allMCs[char_1] = 32;  // frame on which to stop char_1
allMCs[char_2] = 12;  // frame on which to stop char_2
allMCs[char_3] = 47;  // frame on which to stop char_3
// ... add more

// add ENTER_FRAME listener
this.addEventListener(Event.ENTER_FRAME, onEnterFrame);

function onEnterFrame(evt:Event):void
{
    // loop through all MCs and check their frame
    for (var mc:MovieClip in allMCs)
    {
        trace(mc + " frame: " + mc.currentFrame);
        if (mc.currentFrame == allMCs[mc])
        {
            mc.stop();
        }
    }
}

, если в следах все еще говорится, что currentFrame равен 1, убедитесь, что в каждом используемом MC вы используете play();.

...