Имеется flash-заставка в шапку сайта, на которой поочередно демонстрируется некоторое количество графических объектов. Они сменяют друг друга через определенное количество времени. Количество объектов со временем предполагается увеличить, что приведет к увеличению объема заставки. Чтобы как-то сократить объем необходима реализация паузы между показами объектов ролика.
То есть на экране появился первый объект, пауза в заданный интервал, после - другой и т.д. Для реализации этого стандартными средствами анимации необходимо увеличивать количество кадров каждого слоя, что не совсем подходит, поскольку объем ролика для нас критичен.
Реализуем при помощи функции, выполняющей действие паузы:
В первом кадре пишем функцию паузы:
MovieClip.prototype.ppause = function(seconds) { // в параметере seconds определяется время паузы в секундах
this.stop(); // останавливаем текущий мувиклип
var pause = setInterval(function (mc) {
clearInterval(pause); // после того как время паузы прошло и вызвалась эта функция, удаляем обработчик
mc.play(); // запускаем воспроизведение клипа. Используем объект получаемый через параметр при вызове функции
}, seconds*1000, this);
};
this.stop(); // останавливаем текущий мувиклип
var pause = setInterval(function (mc) {
clearInterval(pause); // после того как время паузы прошло и вызвалась эта функция, удаляем обработчик
mc.play(); // запускаем воспроизведение клипа. Используем объект получаемый через параметр при вызове функции
}, seconds*1000, this);
};
В кадре, где необходима пауза (вызов функции) пишем:
ppause(5); // в данном случае пауза составит 5000 секунд, значение по вкусу...
Комментариев нет:
Отправить комментарий