![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2011
Сообщений: 39
|
Добрый вечер.
Есть готовый проект, в котором таймер реализован за счет "часов". Паузы через кнопку "Пауза" в проекте осуществляются через stage.frameRate = 0. Таймер останавливается. Но после нажатия кнопки "Продолжить" stage.frameRate изменяется на нужное кол-во кадров, а таймер перескакивает вперед, т.е. он в это время все-равно считает. Как правильно его затормозить, чтобы пауза была паузой. Спасибо. Таймер описывается в source\ru\nsab\player\Clock.as Сам интерфейс в source\ru\nsab\player\AukPlayer.as |
|
|||||
|
Таймер не зависит от frameRate, он дальше будет считать.
У любого Timer есть методы pause и stop, используйте их.
__________________
adobe AS3 manual |
|
|||||
|
Регистрация: May 2011
Сообщений: 39
|
Да, это я знаю.
Он запускается через функцию Clock, а вот остановить не получается никак. Уже много вариантов перепробовала. public function Clock() { _timer.addEventListener(TimerEvent.TIMER, onTimer); _timer.start(); updateClock(); } Как его остановить? |
|
|||||
package { import flash.display.Sprite; import flash.events.Event; import flash.events.TimerEvent; import flash.utils.Timer; /** * @author SlavaRa */ public class Main extends Sprite { public function Main():void { super(); if (super.stage) { this.super_addedToStageHandler(); } else { super.addEventListener(Event.ADDED_TO_STAGE, this.super_addedToStageHandler); } } private var _timer : Timer; private function super_addedToStageHandler(event:Event = null):void { super.removeEventListener(Event.ADDED_TO_STAGE, this.super_addedToStageHandler); this._timer = new Timer(100, 0); this._timer.addEventListener(TimerEvent.TIMER, this.timer_timerHandler); this._timer.start(); trace("timer started"); } private function timer_timerHandler(event:TimerEvent):void { this._timer.removeEventListener(TimerEvent.TIMER, this.timer_timerHandler); this._timer.stop(); trace("timer stopped"); } } }
__________________
местонахождение |
|
|||||
|
Регистрация: May 2011
Сообщений: 39
|
1 - у вас класс Main extends Sprite - у меня он другой.
2 - есть другой файл AukPlayer.as , в котором прописаны кнопки со сцены. Нужно привязать ваш timer_timerHandler к кнопке Паузы. Как это сделать в другом файле? Проблем с прописыванием в as таймера нет. |
|
|||||
|
У вас в файле ExternalClipsList.as в строчках 33 и 42 плеер вроде приостанавливается, нет?
До таймера с таким кодом я и не знаю как достучаться, да и не особо хочется думать. Разве что синглтон прилепить Код не похож на ваш, и явно видны наследия AS2. Извините
__________________
adobe AS3 manual |
|
|||||
|
Регистрация: May 2011
Сообщений: 39
|
ExternalClipsList.as
да, там обращение к clipList, который ставит на паузу объекты сцены. А мне нужно сам таймер доделать. Все остальное останавливается отлично по кнопкам. |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:54. |
|
|
« Предыдущая тема | Следующая тема » |
|
|