Новичок Flash Dev здесь. У меня возникли некоторые проблемы с передачей имени существующего на моем этапе MC новой переменной, а затем ее анимацией. Я перепробовал все, что мог найти.
Вот установка:
3 уровня сложности вопроса: легкий, умеренный, сложный. Каждый вопрос - это отдельный MC в библиотеке.
Каждый вопрос имеет две строки текста: одну нормальную и одну измененную.
container_MC содержит все вопросы.
Внутри container_MC каждый кадр содержит один из MC вопроса вместе со вторым MC, называемым выделением.
Каждый из этих фреймов затем помечается со сложностью вопроса и номером вопроса, то есть easyQuestion1.
Основной момент - MC, содержащий коробку, которая окружает изменение. Он помечен так же, как рамка + «Подсветка», то есть easyQuestion1Highlight.
Каждое из выделенных полей имеет альфа = 0.
Каждый кадр также содержит переменные, которые определяют правильный ответ и сложность вопроса.
Ни один из объектов на сцене не был добавлен динамически с помощью addChild (обратите внимание на новичок в моем вступлении: D).
На моей основной временной линии у меня есть один экземпляр container_MC. Если игрок выберет правильный ответ, поле выделения текущих кадров изменится с Альфа = 0 на Альфа = 1.
Я пытаюсь передать frameLabel как часть имени MC. Вот код для изучения.
import com.greensock.*
container_MC.addEventListener(Event.ENTER_FRAME,continueQuestions);
function continueQuestions(evt:Event){
evt.target.removeEventListener(Event.ENTER_FRAME,continueQuestions);
}
var myVar:String=(container_MC.currentLabel);//Trace returns easyQuestion1.
var myVar2:String=(myVar+"Highlight");//Trace returns easyQuestion1Highlight.
var highlightVar:MovieClip= MovieClip(container_MC.myVar2);//Trace returns null.
nextQuestion_btn.addEventListener(evt:MouseEvent.CLICK, nextQuestion);
function rightAnswer(e:Event):void{
tweenMax.to(highlightVar, 1, {autoAlpha:1});
}
function nextQuestion(e:Event):void{
tweenMax.to(highlightVar, .25, {autoAlpha:0});
container_MC.nextFrame();
}
В реальном коде nextQuestion имеет группу условных операторов if // else if, управляющих ходом игрока. Однако для наших целей ему просто нужно работать с блоком выделения следующего кадра.