|
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Цитата:
|
|
|||||
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
Цитата:
По теме, для начала просто создайте текстовое поле, и напишите в нем хоть что нибудь, а то вы пытаетесь запустить сразу все. я бы делал так. 1. создал текстовое поле, написал в нем текст. 2. создал таймер , запустил его , чтобы таймер посчитал до скольки-то и написал, "я досчитал". 3. Сделал, из числа 1800, допустим, строку из минут и секунд. 4. сделал чтобы эта строка записалась в текстовое поле. 5. Запустил таймер, при каждом тике таймера, из его значения генерировал строку минут и секунд, и записывал ее в текстовое поле. 6. радуемся ^^ |
|
|||||
Регистрация: Nov 2013
Сообщений: 19
|
var repeat:uint = 20; var t:Timer = new Timer(1000, repeat); var min:uint = 30; var sec:uint; t.addEventListener(TimerEvent.TIMER, f) t.start(); function f(e:TimerEvent) { minutes.text = String(uint(repeat / 60)); seconds.text = String(repeat%60); trace(uint(repeat / 60),repeat%60 ); repeat-- if(uint(repeat / 60)==0 && (repeat%60)==0){gotoAndStop(2)}; } |
|
|||||
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
у таймер есть еще событие, когда он закончит считать, тоесть когда он отсчитает 20 раз по 1000мс
var repeat:uint = 20; var t:Timer = new Timer(1000, repeat); var min:uint = 30; var sec:uint; t.addEventListener(TimerEvent.TIMER, f) t.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); t.start(); function f(e:TimerEvent) { minutes.text = String(uint(repeat / 60)); seconds.text = String(repeat%60); trace(uint(repeat / 60),repeat%60 ); repeat--; } function onTimerComplete(e:TimerEvent) { gotoAndStop(2); } |
|
|||||
Регистрация: Nov 2013
Сообщений: 19
|
Прикладываю исходник в CS4: rghost . ru/51674219
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". at timer_fla::MainTimeline/f() at flash.utils::Timer/_timerDispatch() at flash.utils::Timer/tick() |
|
|||||
Регистрация: Feb 2012
Сообщений: 1,540
|
В чем сложность загрузить исходник сюда, на форум?
|
|
|||||
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
вот полный код, только удалите свои текстовые поля
import flash.text.TextField; stop(); trace("11"); var minutes:TextField = new TextField() minutes.x = 100; minutes.y = 100; addChild(minutes); var seconds:TextField = new TextField() seconds.x = 210; seconds.y = 100; addChild(seconds); var repeat:uint = 1800; var t:Timer = new Timer(1000, repeat); t.addEventListener(TimerEvent.TIMER, onTimer); t.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); t.start(); function onTimer(e:TimerEvent) { minutes.text = String(uint(repeat / 60)); seconds.text = String(repeat%60); repeat--; } function onTimerComplete(e:TimerEvent) { removeChild(minutes); removeChild(seconds); } |
|
|||||
Регистрация: Feb 2012
Сообщений: 1,540
|
Вот таймер в данном случае плохая практика.
Тут точность нужна. Всё-таки 30 минут. Лучше записать getTimer() в начале программы и потом с ним сверяться. А легче всего будет делать это с Date(). |
|
|||||
Регистрация: Nov 2013
Сообщений: 19
|
Isfet спасибо огромное, а как мне теперь сделать чтобы было не 0:30 а 00:30? формат задать
Добавлено через 1 час 17 минут MikroAcse можете набросать вариант с Date?)) Последний раз редактировалось alexrunaway; 15.01.2014 в 23:05. |
|
|||||
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
Цитата:
вот так будет больше точность, import flash.text.TextField; import flash.utils.Timer; import flash.utils.getTimer; stop(); var minutes:TextField = new TextField() minutes.x = 100; minutes.y = 100; addChild(minutes); var seconds:TextField = new TextField() seconds.x = 210; seconds.y = 100; addChild(seconds); var firstTime:int = getTimer(); addEventListener(Event.ENTER_FRAME, onEnterFrame); var currentTimeSec:uint; function onEnterFrame(e:Event) { currentTimeSec = 1800 - (getTimer() - firstTime) * 0.001; minutes.text = String(uint(currentTimeSec / 60)); seconds.text = String(currentTimeSec % 60); if (currentTimeSec == 0) { onTimerComplete(); } } function onTimerComplete() { removeEventListener(Event.ENTER_FRAME, onEnterFrame); removeChild(minutes); removeChild(seconds); } Последний раз редактировалось Isfet; 16.01.2014 в 07:12. |
Часовой пояс GMT +4, время: 15:56. |
|
« Предыдущая тема | Следующая тема » |
Теги |
timer |
|
|