Javascript-форум (https://javascript.ru/forum/)
-   Flash (https://javascript.ru/forum/flash-actionscript-program/)
-   -   Обратное проигрывание ролика () (https://javascript.ru/forum/flash-actionscript-program/25315-obratnoe-proigryvanie-rolika.html)

Sadist_dead 01.02.2012 15:35

Обратное проигрывание ролика ()
 
один слой
movieClip
второй навигация

в навигации есть кнопки
при нажатии на которые я перехожу на нужный кадр к соответствующему разделу

проблема в том что если я перешел допустим раздел 3 и мне надо вернуться в раздел 1 просто перейти на нужный кадр у меня не устраивает мне нужно проиграть ролик обратно и остановить на первом кадре (разделе)

b1 b2 b3
1раздел 2раздел 3 раздел

проковыряв насквозь все что можно было вот что я нашел

Упростим для начала задачу
я сначала проигрываю ролик до 50 кадра
а потом нажимаю на кнопку чтобы вернуться назад
var direct:String = "forward";


addEventListener(Event.ENTER_FRAME, BackFrame);

function BackFrame (event:Event):void {
    if (currentFrame >= 50) {
        direct = "backward";
    }
}

prevBtn2.addEventListener(MouseEvent.CLICK, back);
function back(event:MouseEvent):void {

	var backTran:Number = currentFrame - 1;

    if (direct == "backward") {
        gotoAndStop(backTran);
		
		
    
}
}

и в итоге ура заработало, но сместило только на один кадр ,
и это понятно что задали то и получили, Дальше пробую задать
var backTran:Number = currentFrame - 49;

сразу перескакивает на первый кадр не воспроизводя

выходит нужно организовать цикл ? в который бы выполнялся до того момента пока currentFrame не станет равен 1
Направте меня пожалуйста я вообще правильно делаю нет ли пути проще ?

nubideus 07.12.2012 11:21

Цитата:

Сообщение от Sadist_dead
я сначала проигрываю ролик до 50 кадра
а потом нажимаю на кнопку чтобы вернуться назад

на 50 кадре пишется код
stop()

в слушателе нажатия кнопки пишется
gotoAndPlay(1)


код для обратного проигрывания ролика:
ролик.addEventListener(Event.ENTER_FRAME, onEnterFrame);

function onEnterFrame(event:Event):void{
    var clip:MovieClip = event.target as MovieClip;
    clip.gotoAndStop(clip.currentFrame-1);
}


простые вещи нужно делать просто.


Часовой пояс GMT +3, время: 23:58.