Как использовать массив имен Movieclip для управления этими клипами в as3? - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть небольшая старая программа, которую я пытаюсь пересобрать для Adobe animate (изначально она была во Fla sh - actionscript 1). Вот фрагмент кода, который я пытаюсь заставить работать (отлично работал в тот день в as1)

function getoddnumbers(){
for(i=1;i<=100;i+=2){with(eval("answer"+i))gotoAndStop(3);

}
}

Так что я знаю, что eval больше не работает, поэтому я его вынул -

    var i:Number;
    function getoddnumbers(){
    for(i=1;i<=100;i+=2){with("answer"+i)gotoAndStop(3);

    }
    }

Но теперь as3 не нравится команда gotoAndStop (). Любые идеи, как я могу использовать массив имен answer1, answer2 et c для управления этими мувиклипами? спасибо за вашу помощь хорошего дня

1 Ответ

0 голосов
/ 12 февраля 2020

С помощью AS3 можно управлять точкой воспроизведения MovieClip с помощью функции gotoAndStop , как и в AS2. Ваш приведенный выше код, скорее всего, не работает, потому что with("answer"+i) не возвращает экземпляр MovieClip, поэтому он не сможет найти его метод gotoAndStop.

Учитывая, что вы поместили все свои экземпляры MovieClip на сцену через IDE Fla sh и у всех есть имя instance , установленное через панель его свойств, вы можете получить ссылку на них по его имени, используя функцию getChildByName () . Попробуйте заменить

for(i=1;i<=100;i+=2){with("answer"+i)gotoAndStop(3);}

на

for(i=1;i<=100;i+=2)
{
    MovieClip(getChildByName("answer"+i)).gotoAndStop(3);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...