Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5 - Интервальные функции.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
72.19 Кб
Скачать

Функция 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 пикселей, клип нужно удалить.