Некоторое время я пытался найти хорошее решение, но в основном у меня есть проект Flash, на котором есть набор элементов управления. Когда вы переворачиваете элементы управления, элементы управления исчезают, затем, когда вы выкатываете, они снова исчезают. У меня есть все элементы управления в отдельном мувиклипе, в котором есть анимация для роллового эффекта. Казалось бы, вы могли бы просто перейти к кадру, где вы хотите начать исчезать, и поместить из него на roll_over, а кадр, чтобы начать исчезать на roll_out. Однако, похоже, что если вы войдете до того, как анимация закончится, или свернете со стороны фрагмента Flash, вы получите странные эффекты от его неправильной работы. Мое решение - код ниже:
function fade_in(evt:MouseEvent) {
stop();
if(this.currentFrame == 1 || this.currentFrame == 10) {
this.gotoAndPlay(1);
} else {
gotoAndStop(10);
}
}
function fade_out(evt:MouseEvent) {
stop();
if(this.currentFrame == 10) {
this.gotoAndPlay(10);
} else {
gotoAndStop(1);
}
}
Это по большей части решает проблему с ошибками, но все же не совсем идеально. Кто-нибудь знает более элегантный способ сделать это, который уменьшит вероятность появления ошибки флэш-памяти?