Я работаю над изучением основ AS3 и прорабатываю учебное пособие. Мы только что создали класс, который при связывании с видеоклипами (или, возможно, с любым спрайтом) будет увеличивать их при наведении на них мыши. Чтобы убедиться, что я запомнил все принципы, я попытался создать класс, который заставлял бы спрайт вращаться при наведении на него и останавливаться, когда я выкатывался, однако у меня возникают проблемы с тем, чтобы слушатель ENTER_FRAME работал хорошо. Любая идея, где я иду не так?
пакет
{
импорт flash.display.Sprite;
импорт flash.events.MouseEvent;
импорт flash.events.Event;
public class Spinnah extends Sprite
{
private var _origRotation:Number;
public function Spinnah()
{
_origRotation = this.rotation;
this.addEventListener(MouseEvent.ROLL_OVER, eFrameOn);
this.addEventListener(MouseEvent.ROLL_OUT, stopSpin);
}
private function eFrameOn (Event:MouseEvent):void
{
stage.addEventListener(Event.ENTER_FRAME, spin);
}
private function spin (event:Event):void
{
this.rotation += 1;
}
private function stopSpin (event:Event):void
{
stage.removeEventListener(Event.ENTER_FRAME, spin);
this.rotation = _origRotation;
}
}
}