Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   реверс анимации в указаных промежутках (http://www.flasher.ru/forum/showthread.php?t=170343)

spooner 23.10.2011 13:57

Событие Event.ENTER_FRAME вызывется каждый кадр и каждый кадр у вас проверяется находится ли курсор на объектом, и каждый кадр объект откатывается на кадр назад, просто уперевшись в первый кадр он дальше уже не может откатываться.

cgggg 23.10.2011 15:16

Help PLZ!
получается на клик нужно еще завершить событие Event.ENTER_FRAME, а на повторный клик опять запустить?

Добавлено через 3 часа 5 минут
или как сделать чтобы после клика не проверялось где курсор, а после второго клика опять проверялось?

spooner 23.10.2011 21:02

Попробуйте по событиям MouseEvent.ROLL_OVER, MouseEvent.ROLL_OUT и MouseEvent.CLICK подписывать разные слушатели (и соответственно отписывать не нужные) события Event.ENTER_FRAME.

cgggg 23.10.2011 21:55

Цитата:

Сообщение от spooner (Сообщение 1041358)
Попробуйте по событиям MouseEvent.ROLL_OVER, MouseEvent.ROLL_OUT и MouseEvent.CLICK подписывать разные слушатели (и соответственно отписывать не нужные) события Event.ENTER_FRAME.

это вариант, сам думал, только вот, я не знаю, как от конторольной метки запускать анимацию обратно,
я весь инет облазил, но все примеры друг друга повторяют.
может кто знает? как правильно это называеться.

spooner 23.10.2011 22:18

Так у вас это реализовано в первом варианте:
Код AS3:

addEventListener(Event.ENTER_FRAME, enterFrameHandler);
private function enterFrameHandler(e:Event):void {
        mc.prevFrame();
}


cgggg 23.10.2011 22:46

савсем запутался

Добавлено через 1 час 11 минут
может у когото есть пример?

Добавлено через 14 часов 12 минут
как-то так, только не работает
Код AS3:

start_video.addEventListener(Event.ENTER_FRAME, handler8);
start_video.addEventListener(MouseEvent.CLICK, start_video_onClick);
start_video.buttonMode = true;
start_video.stop();
var start_video_ToPlay:Boolean = true;
function start_video_onClick(evt:MouseEvent):void {
                if this.hasEventListener(Event.ENTER_FRAME) {       
                this.removeEventListener(Event.ENTER_FRAME, handler8);    }
    if (start_video_ToPlay) {
                start_video.gotoAndPlay("_down");
                SoundMixer.stopAll();
                }
                else {
                start_video.gotoAndStop("_up");
                }
                start_video_ToPlay = !start_video_ToPlay;
}
function handler8(event:Event):void {
        if (start_video.hitTestPoint(root.mouseX, root.mouseY, true)) {
 
                if (start_video.currentFrame <= 9) start_video.nextFrame();
        } else {
 
                start_video.prevFrame();
        }
}



Часовой пояс GMT +4, время: 17:55.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.