
Функция getTimer
Эта функция используется для подсчета относительного времени, возвращает количество миллисекунд, прошедших с момента инициализации окна Flash-плеера. Так же как и функции setInterval и clearInterval, эта функция входит в библиотеку flash.utils.
Пример. Секундомер с использованием компонента Label, отсчитывающий время с момента запуска фильма.
На рабочем листе находится экземпляр компонента Label, которому задано имя time (на панели Properties).
time.text = ""; // Вначале поле пустое
// обработчик события смены кадра сцены
stage.addEventListener(Event.ENTER_FRAME, stageEnterFrame);
function stageEnterFrame(_event:Event)
{
// количество миллисекунд, прошедших с момента открытия плеера
var t:uint = getTimer();
// содержимое строки
// Math.round(t/3600000) – этоцелое количество часов и т.д.
time.text = Math.round(t/3600000)+" час "+Math.round(t/60000)+
" мин " + Math.round(t/1000)+" сек";
}
Вызов функции с задержкой времени
В ActionScript встроены еще две функции, применение которых во многом аналогично применению функций setInterval и clearInterval, рассмотренных ранее. Функция setTimeout осуществляет вызов функции, имя которой передается в качестве параметра с заданной задержкой в миллисекундах, а функция clearTimeout отменяет заданный вызов метода setTimeout.
Рассмотрим синтаксис этих методов.
setTimeout(<Имя_функции>, <кол-во_мс>, <список_фактических_параметров>):uint;
Здесь <Имя_функции> - это имя функции, вызов которой будет отложен, <кол-во_мс> - это величина задержки в миллисекундах, <список_фактических_параметров> - необязательный набор параметров – это параметры, передаваемые в функцию. Возвращаемое значение имеет тип беззнакового целого (uint), и представляет собой уникальный числовой идентификатор (номер) запущенного процесса отложенного вызова функции.
clearTimeout(<номер_процесса>):void;
Здесь <номер_процесса> - это число, возвращаемое функцией setTimeout. Функция ничего не возвращает.
Задания
Задания распределяются соответственно номеру студента в списке группы. Экземпляры клипов следует создавать только динамически
Обязательное требование – тексты скриптов должны закомментированы.
При выставлении оценки за работу будет учитываться ее внешний вид.
В комментариях обязательно указать фамилию автора программы, номер группы, название лабораторной работы, номер варианта и текст задания. Все переменные, заголовки функций и вызовы методов должны сопровождаться соответствующим комментарием.
Содержание отчета
1. Цель работы.
2. Номер варианта и задание.
3. Текст программы.
1. Модификация задания из работы №2: раз в 5 секунд бабочки сами перемещаются в случайную точку.
2. Один раз в промежуток продолжительностью от 1 секунды до 3 на экране распускается роза.
3. Модификация задания из работы №2: книги сами раскрываются, пролистываются и возвращаются на полку. Интервалы подобрать самостоятельно.
4. Секундомер. При нажатии на кнопку секундомера тот начинает отсчитывать секунды. Сбоку от секундомера находятся песочные часы. Каждую минуту они переворачиваются (песочные часы – клип).
5. Модификация задания из работы №2: ягоды земляники сами созревают по одной через равные промежутки времени, когда все ягоды «поспеют», они перемещаются в корзину. Интервалы подобрать самостоятельно.
6. Модификация задания из работы №2: спустя определенные промежутки времени птицы сами начинают петь, улетают, а затем возвращаются. Величину интервалов подобрать самостоятельно.
8. Раз в 5 секунд из-за случайной стороны экрана выглядывает персонаж. В зависимости от того, какая сторона активна, рисунок персонажа должен различаться.
9. Модификация задания из работы №2: снежки сами появляются через равные промежутки времени, сугроб самостоятельно уменьшается и пропадает, когда это необходимо.
10. Модификация задания из работы №2: полная автоматизация. Интервалы подобрать самостоятельно.
11. Модификация задания из работы №2: стулья сами двигаются, книги сами появляются и исчезают, без участия пользователя. Самостоятельно подобрать интервалы.
12. Модификация задания из работы №2: кусочки паззла сами становятся на место раз в одну секунду.
13. На рабочем листе находится «бомба» с горящим шнуром. Если пользователь не успевает щелкнуть по ней в течение секунды, она взрывается. Если успевает – она исчезает. В любом случае, после исчезновения бомбы в случайном месте рабочей области появляется новая с аналогичным поведением. Сделать два счетчика – «побед» и «поражений» (использовать компонент Label). Примечание: использовать функции setTimeout и clearTimeout.
14. Модификация задания из работы №2: полная автоматизация. Интервалы подобрать самостоятельно.
15. Раз в промежуток от полуминуты до минуты со случайной стороны экрана появляется клип, совершает движение и исчезает (например, велосипедист проезжает за другую сторону экрана, паук выпадает сверху, а потом поднимается вверх и т.п.).
16. Модификация задания из работы №2: окошки сами открываются в случайный промежуток от одной секунды до пяти секунд.
17. Ночное небо. Раз в промежуток от 1 секунды до 5 одна из случайно выбранных звезд моргает.
18. Модификация задания из работы №2: пирамидка постепенно сама собирается. Интервалы подобрать самостоятельно.
19. На рабочем листе находится заставка. Спустя полминуты после инициализации окна flash-плеера начинается воспроизведение фильма.
20. Модификация задания из работы №2: раз в полсекунды каждый из пузырей раздувается, а через каждые 4 секунды один из случайно выбранных пузырей «лопается».
21. Сделать небольшую презентацию, проигрывающуюся в автоматическом режиме (раз в 10 секунд появляется новый «слайд» презентации).
22. Модификация задания из работы №2: каждый клип раз в секунду или увеличивается на 10%, или уменьшается на 5% (случайно). Если диагональ клипа становится меньшей 5 пикселей или больше 200 пикселей, клип нужно удалить.