Назад в раздел
Делаем таймер!
div.main {margin-left: 20pt; margin-right: 20pt}
Делаем таймер!
Вэтом уроке будет рассказано о том, как сделать таймер,похожий на пример! I.Сначала создадим новый фильм и три кадра в нём(для регулирования таймера в 1ом кадре поставьте Action: stop();, а в 3ем Action: gotoAndPlay(2); для постоянного обновления данных). II.Затем создадим две кнопки,которые включали бы в себя знаки + и -. III.Создадим два динамических текстовых полей с именем second и с именем time. IV.Поместим эти кнопки на главную сцену и дадим им такие Actions: 1)Для той, что с +: on(press) {if(sec<9999) {sec++; second=sec;}} 2)для той,что с -: on(press) {if(sec>1) {sec--; seconds=sec;}} Пояснения: on(press) --- показывает при каком событии нужно выполнять последующие действия ( в данном случе при нажатии на кнопку) {if(sec<9999) --- накладываем ограничения на значение переменной ( т.е. пока переменная "sec" < 9999 то мы переходим к дальнейшим действиям) {sec++; --- увеличивает переменную "sec" на 1 (sec=sec+1;)( то же самое происходит при sec--; только она уменьшается на 1) seconds=sec;}} --- эта строка отображает значение переменной в динамическом текстовом поле с именем: second. V.Создадим кнопку старт, поместим ее на главную сцену и дадим ей Script: on(press) {startTime=getTimer(); time1=sec*1000; gotoAndPlay(2);} Пояснения: on(press) --- смотрите выше ^ startTime=getTimer(); --- фиксируем время нажатия на кнопку и заносим его, как значение переменной "startTime" time1=sec*1000; --- переводим секунды,(значение переменной, которое мы уменьшали/прибавляли) в милисекунды (таймер работает только с милисекундами) gotoAndPlay(2);} --- переходим во второй кадр VI.Переходим на работу во втором кадре.!!!Убираем все Actions со всех объектов!!!Наносим такой Action на второй кадр: if(getTimer()-startTime < time1) {time=Math.floor((getTimer()-startTime)/1000);} if(getTimer()-startTime >= time1) {time="Time Out!"; gotoAndStop(1);} Пояснения: if(getTimer()-startTime < time1) --- Смотрим, не прошло ли больше времени, чем задали? {time=Math.floor((getTimer()-startTime)/1000);} --- Если не прошло, то заполняем текстовое поле time2 целой частью прошедшего времени, переведённым из милисекунд в секунды.("getTimer()-startTime" --- вычисляем прошедшее время). if(getTimer()-startTime >= time1) --- Смотрим ещё раз. {time="Time Out!"; gotoAndStop(1);} --- Если прошло, то в текстовое поле time выводится надпись: Time Out!. Затем мы незаметно попадаем в первый кадр для повторной настройки таймера.
Вот и всё, если вы выполняли всё, как здесь написано, то у вас получится! P.S. Попробуйте прилумать таймер для обратного отсчета(как в примере) сами! Если что-то не получается пишите мне на e-mail, я вышлю вам исходник для сравнения с вашим творением! |
Автор: © vol Источник:
http://www.flasher.ru
|
|
|
|