2) Пишем специальный класс в отдельном as -файле.
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.events.Event;
public class Babochka extends MovieClip {
private var active: Boolean;
public function Babochka() {
active = false;
addEventListener(MouseEvent.MOUSE_OVER, OnMOver); // задаем имя функции для вызова по событию наведения мышки
addEventListener(MouseEvent.MOUSE_OUT, OnMOut); // задаем имя функции для вызова по событию отодвигания мышки
addEventListener(Event.ENTER_FRAME, OnEnterFrame); // задаем имя функции для вызова по событию переход в кадр
}
private function OnMOver(evt: MouseEvent): void {
if(!active) { // если до этого переменная active была "false", делаем её "true"
active = true;
play(); // и запускаем анимацию
}
}
private function OnMOut(evt: MouseEvent): void {
// если еще не сделали active = "false", то делаем, чтобы при переходе на 1-й кадр,
// остановить анимацию
if(active) {
active = false;
}
}
private function OnEnterFrame(evt: Event): void {
// если active = "false" и номер текущего кадра = 1
if(!active && (this.currentFrame == 1)) {
stop(); // останавливаем анимацию
}
}
}
}
3) Присваиваем нашему мувику с анимированной бабочкой класс Babochka.
4) Запускаем и радуемся!
Примечание: класс сгодится для любых анимашек, которые реагируют на наведение на них запуском анимации.
Для сравнения: розовая бабочка делалась обычным стандартным способом с помощью кнопки. Подведите курсор и почувствуйте разницу! А если нет разницы, то мы идем к вам!!!