Мне нужны часы на часах - PullRequest
       6

Мне нужны часы на часах

1 голос
/ 07 апреля 2019

У меня есть рабочие часы, но вместо того, чтобы бежать вперед, мне нужно их отсчитывать вот код, с которым я работаю в данный момент

 import flash.utils.Timer;  
 import flash.events.TimerEvent;  

 var looper: Timer = new Timer(100);  
 looper.start();  
 looper.addEventListener(TimerEvent.TIMER, loopF);
 function loopF(event:TimerEvent):void{  
 var time: Date = new Date(); 

 //time variables

 var hours:* = time.getHours();  
 var minutes:* = time.getMinutes();  
 var seconds:* = time.getSeconds();  
 var hourStrg:String;   
 var minuteStrg:String;
 var secondStrg:String;

 //time text

if(String(seconds).length < 2){
seconds = "0" + seconds;
}
if(String(minutes).length < 2){
minutes = "0" + minutes;
}
if(hours > 11){
ampm_txt.text = "PM";
} else {
ampm_txt.text = "AM";
}
if(hours > 12){
hours = hours - 12;
}
if (String(hours).length < 2){
hours = "0" + hours;
} 
time_txt.text = hours + ":" + minutes + ":" + seconds;

}

возможно, кто-то знает простой способ изменить это на обратный отсчет

1 Ответ

1 голос
/ 07 апреля 2019

На основе вашего кода вы можете сделать что-то вроде этого: Создайте глобальный объект Date непосредственно перед запуском таймера и установите задержку таймера на 1000 мс.

Внутри функции обратного вызова вашего таймера мы можем получить количество срабатываний таймера с момента его запуска. С этим числом (и знанием, что таймер срабатывает каждую секунду), мы можем просто вычесть это значение, умноженное на 1000, из глобального объекта Date, чтобы заставить его считать в обратном направлении.

import flash.utils.Timer;  
import flash.events.TimerEvent;  

var looper:Timer = new Timer(1000);  
var now:Date=new Date();
looper.start();  
looper.addEventListener(TimerEvent.TIMER, loopF);
function loopF(event:TimerEvent):void{  
    var time:Date = new Date(now.getTime() - Timer(event.currentTarget).currentCount * 1000); 

    //time variables

    var hours:* = time.getHours();  
    var minutes:* = time.getMinutes();  
    var seconds:* = time.getSeconds();  
    var hourStrg:String;   
    var minuteStrg:String;
    var secondStrg:String;

    //time text

    if(String(seconds).length < 2){
        seconds = "0" + seconds;
    }
    if(String(minutes).length < 2){
        minutes = "0" + minutes;
    }
    if(hours > 11){
        ampm_txt.text = "PM";
    } else {
        ampm_txt.text = "AM";
    }
    if(hours > 12){
        hours = hours - 12;
    }
    if (String(hours).length < 2){
        hours = "0" + hours;
    } 
    time_txt.text = hours + ":" + minutes + ":" + seconds;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...