Таймер обратного отсчета(остановка и запуск при нажатии...)
Re: Таймер обратного отсчета(остановка и запуск при нажатии...)
Но это же обычный таймер,а не таймер обратного отсчета
- Abarmotina
- Сообщения: 469
- Зарегистрирован: 21 апр 2012, 19:34
Re: Таймер обратного отсчета(остановка и запуск при нажатии...)
Создай ещё одну переменную, которая будет хранить то число, с которого нужно начинать отсчёт.
После этого в этой строчке уменьшай её на единицу.tf.text = (int(tf.text)+1).toString(); // в текстовом поле добавляем 1...
Re: Таймер обратного отсчета(остановка и запуск при нажатии...)
Что не так то?Я делал переменную,делал вот так,один раз отнимает и все,как обойти эту ситуацию?
Код: Выделить всё
var t:Timer = new Timer(1000,25); // таймер... каждую секунду..t.addEventListener(TimerEvent.TIMER, te); // событие каждую секунду...t.start(); // старт.. function te(e:TimerEvent):void { tf.text = (25-1).toString(); // в текстовом поле добавляем 1...}
Re: Таймер обратного отсчета(остановка и запуск при нажатии...)
Если делать по твоему, то вот код:
Но это не грамотно...
Не заметил 1 страницу
Код: Выделить всё
var tf:TextField = new TextField();tf.text = "25";addChild(tf);var t:Timer = new Timer(1000, 25); // таймер... каждую секунду..t.addEventListener(TimerEvent.TIMER, te);// событие каждую секунду...t.start(); // старт.. function te(e:TimerEvent):void { tf.text = (int(tf.text)-1).toString(); // вычитаем из текущего значения(25) 1 }
Не заметил 1 страницу
Re: Таймер обратного отсчета(остановка и запуск при нажатии...)
Все спасибо!А как сделать,чтобы он после остановки заново запускался с 25 секунд,а не продолжал.Я думал за это отвечает reset(); , но нет.
- Abarmotina
- Сообщения: 469
- Зарегистрирован: 21 апр 2012, 19:34
Re: Таймер обратного отсчета(остановка и запуск при нажатии...)
О Бог мой, что я вижу
Ну раз тааак, тоо... Просто если уже дошло до 0, забивай повторно значение 25.
Ну раз тааак, тоо... Просто если уже дошло до 0, забивай повторно значение 25.
Re: Таймер обратного отсчета(остановка и запуск при нажатии...)
ага... ТС просто прикольный человек
вот кстати я накатал класик для работы с таймером обратного отсчета...
CountdownTimer.as
использовать просто:
вот кстати я накатал класик для работы с таймером обратного отсчета...
CountdownTimer.as
Код: Выделить всё
package { import flash.utils.Timer; import flash.text.TextField; import flash.events.*; import flash.display.DisplayObject; public class CountdownTimer extends EventDispatcher { private var tf:DisplayObject; private var sec:int; private var prop:String; private var start_sec:int; private var timer:Timer; // событие по завершению отсчета... public static const END_TIMER:String = 'endtimer'; public function CountdownTimer(tf:DisplayObject, sec:int, prop:String='text') { this.tf = tf; this.sec = this.start_sec = sec; this.prop = prop; timer = new Timer(1000); } public function start():void { // старт.. try { if(!timer.hasEventListener(TimerEvent.TIMER)) throw new Error('err'); } catch(e:Error) { timer.addEventListener(TimerEvent.TIMER, onTimer); reset(); } finally { timer.start(); } } private function onTimer(e:TimerEvent):void { // каждую секунду.. try { if(--sec < 0) throw new Error('err'); } catch(e:Error) { timer.stop(); var event:Event = new Event(CountdownTimer.END_TIMER, false, true); this.dispatchEvent(event); if(!event.isDefaultPrevented()) { reset(); } } finally { tfval(sec); } } public function stop():void { // приостановить... timer.stop(); } public function reset():void { // обнулить... sec = start_sec; timer.reset(); tfval(sec); } private function tfval(num:int):void { // установить значение поля... tf[prop] = num.toString(); } public function time(num:int):void { // установить новое время.. start_sec = num; } }}
Код: Выделить всё
var t:CountdownTimer = new CountdownTimer(tf, 10);t.start(); /** доп функции..таймер имеет событие CountdownTimer.END_TIMER, оно возникает когда счет доходит до 0.t.addEventListener(CountdownTimer.END_TIMER, f);function f(e:Event):void { // таймер дошел до 0... // но не забываем, что start(); не поможет, т.к. есть стандартное поведение... // потому нужно сделать так, например: e.preventDefault(); // отменим стандартное поведение... обязательно нужно это сделать, иначе после выполнения // этой функции таймер сброситься и остановится - это стандартное поведение... t.start(); // запустим.. // !!! важно - таймер сам сбрасывает значение, если он дошел до 0 при старте...} можно также изменить время функцией time(int); где int - число int-овое, указывающее новое начальное время.t.time(5); // теперь с 5 секунд будем считать... и да, необязательно считать в текстовом поле... у таймер в конструкторе есть параметр третий - prop, который указывает какую переменную изменять, но важно чтобы этот объект был динамическим...(все отображаемые объекты - динамические)...var t:CountdownTimer = new CountdownTimer(myobj, 10, 'myprop'); // где myprop - мое свойство...*/
Re: Таймер обратного отсчета(остановка и запуск при нажатии...)
Разложите все по полочкам,подскажите поподробнее что да как будет работать.И где можно обучиться.Исходники возможно есть по работе этого.я все вопросы, ссылки на картинки, разгадки и пр. храню в бд... потом делаю запрос к php и он отвечает, что типа вот тебе такой вопрос.. потом по ссылке с сервера гружу картинку, ну и чел угадывает... во вторых тяжелая будет игра и оч долго грузить, если картинки в игре будут... в третих - при каждом обновлении нужно перезаливать флеш... при варианте db-php ничего не нужно.. ток в админке(как я) добавлять вопросы.. что занимает пару минут на вопрос, подсказку и пр. а флеш у меня уже сам все знает грузит все это и т.д.
для такой реализации нужно знать: php, бд(mysql обычно..), URLLoader(загрузка данных),Loader(загрузка картинок), формат передачи JSON(он компактнее и удобнее XML)
Re: Таймер обратного отсчета(остановка и запуск при нажатии...)
лично я не буду делать за кого-то чужую работу... может кто-то другой ответит.. слишком уж много хотите, да еще и готовое и бесплатноРазложите все по полочкам,подскажите поподробнее что да как будет работать.И где можно обучиться.Исходники возможно есть по работе этого.
ps. я и так подробно описал что да как.
Re: Таймер обратного отсчета(остановка и запуск при нажатии...)
Здравствуйте еще раз!А скажите пожалуйста sasha^ где вы обучились ActionScripts,у и где вообще учатся программисты ,которые делают приложения для соц.сетей???