![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2012
Сообщений: 297
|
Здравствуйте, дорогие друзья. Представьте ситуацию: вы создали таймер, установили время, через которое событие будет запущено и написали старт. Время пошло.
Как узнать время, которое идёт? Допустим: Через N секунд будет запущено событие. |
|
|||||
|
Регистрация: Nov 2009
Сообщений: 176
|
можно создать переменную(счётчик) которая будет увеличиваться на единицу каждый раз как приходит событие от таймера и когда счётчик будет равен заданному значению запустить другое событие
|
|
|||||
|
Регистрация: Aug 2012
Сообщений: 297
|
Цитата:
package SRCa { import flash.display.MovieClip; import flash.utils.Timer; import flash.events.TimerEvent; public class ForTImer extends MovieClip { public var InstallSomeTime:int = 10; public var ObjectTimer:Timer = new Timer(1000,InstallSomeTime); public var NumberIsTimer:Number = 0; public function ForTImer() { ObjectTimer.addEventListener(TimerEvent.TIMER, EventTimer); ObjectTimer.start(); } public function EventTimer(Event:TimerEvent):void { trace("Количество повторов:",Event.target.currentCount); if(Event.target.currentCount == InstallSomeTime) { trace("Миг настигнут!"); } } } } |
|
|||||
|
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ" Мои ачивки: художник-паразит. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
если количество тиков установлено, в конце таймер выдаст TimerEvent.TIMER_COMPLETE
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Aug 2012
Сообщений: 297
|
А можете продемонстрировать пример? У меня не получается в мозгу это спаять с таймером.
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Кого тут спаивать? timer это Ваш Event.target, все остальное это его свойства.
У Вас правда компилится код, в котором переменная названа как импортированный Класс? Может, стоит писать по конвенции? Классы с большой, члены классов — с маленькой?
__________________
Reality.getBounds(this); |
|
|||||
package { import flash.display.Sprite; import flash.events.TimerEvent; import flash.utils.Timer; public class TimTest extends Sprite { private static const DELAY : Number = 100; private static const REPEAT_COUNTS : uint = 100; private var _timer : Timer = new Timer(DELAY, REPEAT_COUNTS); public function TimTest() { _timer.addEventListener(TimerEvent.TIMER, onTimer); _timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); _timer.start(); } //*** handlers ***// private function onTimer(event : TimerEvent):void { var lastMsec : Number = (_timer.repeatCount - _timer.currentCount)*_timer.delay; trace("До конца отсчета осталось " + lastMsec + " миллисекунд"); } private function onTimerComplete(event : TimerEvent):void { trace('Таймер завершил работу'); } } }
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ" Мои ачивки: художник-паразит. |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
А я подумал, что речь про вот такое шла. Может и ошибаюсь
![]() Мышкой нужно потыкать. package { import flash.display.*; import flash.events.*; import flash.utils.*; public class Main extends Sprite { public function Main() { if (stage) stage.addEventListener(MouseEvent.CLICK, _onMClick); _timer = new Timer(0, 1); _timer.addEventListener(TimerEvent.TIMER_COMPLETE, _onTimerComplete); } private var _timer : Timer; private var _timerStartTime : int = -1; private function _getTimerTime() : int { if (_timer.running) return (getTimer() - _timerStartTime); return -1; } private function _restartTimer() : void { if (_timer.running) _timer.reset(); _timer.delay = 100 + 1000 * Math.random(); _timer.start(); _timerStartTime = getTimer(); this.addEventListener(Event.ENTER_FRAME, _printTimerProgressEveryFrame); trace("=== TIMER STARTED ==="); } private function _onMClick( e:MouseEvent ) : void { if (_timer.running) trace(_getTimerTime()); else _restartTimer(); } private function _printTimerProgressEveryFrame( e:Event ) : void { var t:int = _getTimerTime(); var p:Number = 100.0 * Math.min(1.0, (t / _timer.delay)); p = Math.round(10 * p) / 10; trace("Progress: " + p.toFixed(1) + " % " + t + " of " + int(_timer.delay) + " ms"); } private function _onTimerComplete( e:TimerEvent ) : void { trace("=== TIMER COMPLETE ==="); this.removeEventListener(Event.ENTER_FRAME, _printTimerProgressEveryFrame); } } } === TIMER STARTED === Progress: 2.2 % 13 of 582 ms Progress: 7.0 % 41 of 582 ms Progress: 12.9 % 75 of 582 ms Progress: 18.7 % 109 of 582 ms Progress: 24.2 % 141 of 582 ms Progress: 30.1 % 175 of 582 ms Progress: 36.1 % 210 of 582 ms Progress: 41.6 % 242 of 582 ms Progress: 47.1 % 274 of 582 ms Progress: 52.9 % 308 of 582 ms Progress: 58.7 % 342 of 582 ms Progress: 64.2 % 374 of 582 ms Progress: 70.1 % 408 of 582 ms Progress: 75.9 % 442 of 582 ms Progress: 81.4 % 474 of 582 ms Progress: 87.4 % 509 of 582 ms Progress: 92.9 % 541 of 582 ms Progress: 98.8 % 575 of 582 ms Progress: 100.0 % 607 of 582 ms === TIMER COMPLETE === === TIMER STARTED === Progress: 16.8 % 32 of 190 ms Progress: 34.6 % 66 of 190 ms Progress: 51.4 % 98 of 190 ms Progress: 69.2 % 132 of 190 ms Progress: 87.0 % 166 of 190 ms Progress: 100.0 % 198 of 190 ms === TIMER COMPLETE ===
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
|
Регистрация: Aug 2012
Сообщений: 297
|
Цитата:
Количество повторов: 1 Количество повторов: 2 Количество повторов: 3 Количество повторов: 4 Количество повторов: 5 Количество повторов: 6 Количество повторов: 7 Количество повторов: 8 Количество повторов: 9 Количество повторов: 10 Миг настигнут! Добавлено через 56 секунд Цитата:
Добавлено через 4 минуты Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 22:22. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|