среда, 13 мая 2009 г.

Пауза во flash-ролике


Имеется flash-заставка в шапку сайта, на которой поочередно демонстрируется некоторое количество графических объектов. Они сменяют друг друга через определенное количество времени. Количество объектов со временем предполагается увеличить, что приведет к увеличению объема заставки. Чтобы как-то сократить объем необходима реализация паузы между показами объектов ролика.
То есть на экране появился первый объект, пауза в заданный интервал, после -  другой и т.д. Для реализации этого стандартными средствами анимации необходимо увеличивать количество кадров каждого слоя, что не совсем подходит, поскольку объем ролика для нас критичен.
Реализуем при помощи функции, выполняющей действие паузы:

В первом кадре пишем функцию паузы:

MovieClip.prototype.ppause = function(seconds) { // в параметере seconds определяется время паузы в секундах

this.stop(); // останавливаем текущий мувиклип
var pause = setInterval(function (mc) {

clearInterval(pause); // после того как время паузы прошло и вызвалась эта функция, удаляем обработчик
mc.play(); // запускаем воспроизведение клипа. Используем объект получаемый через параметр при вызове функции
}, seconds*1000, this);
};

В кадре, где необходима пауза (вызов функции) пишем:
ppause(5); // в данном случае пауза составит 5000 секунд, значение по вкусу...

Комментариев нет:

Отправить комментарий