PDA

Просмотр полной версии : Помогите сделать паузу корректно работающей


Vensky_Hor
17.03.2006, 21:24
Граждане, нужна помощь.
У меня есть нечто похожее на проигрыватель swf-роликов, так сказать "player". На нем расположены кнопки, в том числе и Pause(по нажатию - подгружаемый ролик то останавливается, то продолжает проигрываться с того места, на котором он остановился).
С остановкой содержимого проблем не возникло, а вот с продолжением воспроизведения - одна мука. Представьте, что у подгружаемого ролика 2 кадра: на каждом stop(). На первом из этих кадров кнпочка, по нажатию на которую фильм переходит на второй кадр.
Я загружаю ролик и он останавливается на своём первом кадре. Я жму на паузу (остановить) и жму опять (продолжить).
Так вот, если я из проигрывателя при прекращении паузы отдаю команду ролик.play(), то я проскакиваю stop() первого кадра и перехожу ко второму (а должна бы перейти только нажав на специальную кнопочку в этом ролике).

Может кто-то сталкивался? Как сие действо разрешить? :confused:

silin
17.03.2006, 22:11
..если я из проигрывателя при прекращении паузы отдаю команду ролик.play(), то я проскакиваю stop() первого кадра..
не проскакиваешь: на самом деле команда stop() первого кадра уже выполнена, когда мувик на этот кадр попал..
Как сие разрешить?
для этого частного случая: при 'снятии c паузы' не давать команду play()
в общем виде все выглядит как-то нелепо: зачем дублировать внутреннее управление мувика во внешнем плеере? полюбому непонятки обеспечены, нужно знать/учесть все расклады..

Vensky_Hor
17.03.2006, 22:16
К сожалению, дублирование управления и все другие нелепости - это данность. Частный случай мне не совсем подходит, поскольку у меня подгружаются разные ролики, я даже их всех не знаю. Мне прислали описанный пример и расстроились: "мол, не работает, а надо, чтоб на всём работало".
Всё равно, спасибо за ответ :)

PIRIS
18.03.2006, 13:44
а если запомнить, на каком кадре остановился и сделать gotoAndPlay(n);, если не получиться то gotoAndPlay(n-1);

Vensky_Hor
18.03.2006, 14:33
Запомнить и gotoAndPlay(n) - не помогло (может, у меня руки кривоваты, но я честно пыталась)
А вот с n-1 никак нельзя. Там не всегда плавная анимация (напимер, загружен фотоальбом с кнопками и в нем на каждом кадре своя фотка)

Madasan
18.03.2006, 15:50
Есть же свойства _totalframes , _currentframe . Можно всегда определить на каком мы кадре сейчас, и перейти на нужный кадр.

Vensky_Hor
18.03.2006, 16:38
Madasan! Я заранее не знаю на каких кадрах расставлены стопы, в том-то и гвоздь.

Madasan
18.03.2006, 16:47
Сделай функцию, которая будет определять меняется ли текущий кадр, если нет, значит на кадре висит стоп.

silin
18.03.2006, 20:35
дада, Madasan прав: так можно попробовать..
в 'плеере' смотрим стоит/игает мувик, ну и даем play или нет:
var targStop;
var cf=targ_mc._currentframe;
this.onEnterFrame=function(){
targStop=targ_mc._currentframe==cf;
cf=targ_mc._currentframe;
};
function targPlay(){
if(!targStop) targ_mc.play();
}

Vensky_Hor
18.03.2006, 20:51
Спасибо:)