Я пытаюсь заставить фрагмент ролика играть наоборот, когда я mouse_out от него (он играет на mouse_over).
Мой actionscript следующие:
mc.stop();
mc.addEventListener(MouseEvent.MOUSE_OVER,mover);
mc.addEventListener(MouseEvent.MOUSE_OUT,mout);
function mover(e:MouseEvent):void
{
mc.play();
}
function mout(e:MouseEvent):void
{
//Play in reverse
}
Как я достиг бы этого?
Спасибо
Лучший способ использовать слушатель события Enter_frame. По сути, это то, что вы хотите сделать
function mover(e:MouseEvent):void {
stopPlayReverse();
mc.play();
}
function mout(e:MouseEvent):void {
this.addEventListener(Event.ENTER_FRAME, playReverse, false, 0, true);
}
function playReverse(e:Event):void {
if (mc.currentFrame == 1) {
stopPlayReverse();
} else {
mc.prevFrame();
}
}
function stopPlayReverse():void {
if (this.hasEventListener(Event.ENTER_FRAME)) {
this.removeEventListener(Event.ENTER_FRAME, playReverse);
}
}
, это будет воспроизводить ваше молициклопучка в обратном направлении, пока оно не попадет в кадр 1, то он остановится.
Если движение позволяет, вы можете использовать Tween (например, если вы хотите изменить альфа, местоположение или масштаб). На мышечном варианте вы можете позвонить .yoyo () для Tween, который будет играть в обратном направлении.
Что-то вроде этого:
var tween:Tween;
mc.addEventListener(MouseEvent.MOUSE_OVER,mover);
mc.addEventListener(MouseEvent.MOUSE_OUT,mout);
function mover(e:MouseEvent):void
{
tween = new Tween(obj, "alpha", None.easeNone, 1, 0, 1, true);
}
function mout(e:MouseEvent):void
{
tween.yoyo();
}
Если ваша твина не все, что серьезно, вы можете буквально сделать совершенно новый набор кадров в обратном порядке и просто воспроизвести его из этого ключевого кадра.
Это бедный человек обратный твин.