Пытаюсь сделать анимацию клика. Создал сам MovieClip (расширяющийся кружочек из точки клика).
Сначала добавлял один экземпляр и в случае клика в другом месте, не закончившаяся анимация исчезала и воспроизводилась заново в новом месте. Всё работало. Решил сделать, что бы при каждом новом клике создавался новый экземпляр не мешая окончиться предыдущему. Но столкнулся с проблемой, в случае с одним экземпляром, переменная которого объявлялась ещё в самом классе, я без проблем обращался к номеру кадра этого экземпляра, и когда он оканчивался, я удалял его. Сейчас каждый новый экземпляр создаётся в функции ивента клика мышкой по сцене. И я не пойму как правильно написать Слушатель ON_ENTER_FRAME для каждого экземпляра. Всё время ошибки, и currentFrame всегда 1.
Вот то, что сделано на текущий момент (не работает):

Код AS3:
package
{
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
public class Main extends MovieClip
{
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
stage.addEventListener(MouseEvent.CLICK, onClick);
}
private function onClick(e:MouseEvent): void
{
var circle:CircleAnimation = new CircleAnimation();
stage.addChild(circle);
circle.x = mouseX;
circle.y = mouseY;
circle.addEventListener(Event.ENTER_FRAME, onEnter);
circle.addEventListener(Event.REMOVED_FROM_STAGE, onRemoved);
}
private function onEnter(e:Event): void
{
if (this.currentFrame == this.totalFrames)
{
stage.removeChild(this);
}
}
private function onRemoved(e:Event): void
{
this.removeEventListener(Event.ENTER_FRAME, onEnter);
this.removeEventListener(Event.REMOVED_FROM_STAGE, onRemoved);
}
}
}