Пауза в ActionScript 2/3

8 февраля 2013 | Автор: Дунин Владимир

При разработке баннеров часто приходится определенные кадры демонстрировать посетителям в течение некоторого времени. Самый очевидный вариант – воспользоваться таймлайном, скопировав нужный кадр на всю длину паузы, как в этом примере:



При разработке простых баннеров без вложенных друг в друга мувиклипов этот вариант вполне годится, но в больших проектах такой способ сделает таймлайн слишком длинным и не удобным в использовании, и добавит “весу” скомпилированной swfке. Тогда на помощь приходит AS. С помощью небольшого скрипта мы притормозим ролик в нужном месте, задав время паузы в миллисекундах. Это и выглядит компактнее и гораздо удобнее в использовании:



Результат в обоих случаях выглядит одинаково:

А это сам код. “2000” в обоих примерах соответствует двум секундам паузы.

//Пауза AS2

stop();
intervalId = setInterval(this, "executeCallback", 2000);
executeCallback = function() {
play();
clearInterval(intervalId);
}

//Пауза AS3

function fl_start () : void {play ()}
function fl_pause (time) : void {stop ();setTimeout (fl_start,time);}
fl_pause (2000);