Отчет времени на AS3

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
Аватара пользователя
BIOS
КИДАЛА!
Сообщения: 68
Зарегистрирован: 04 ноя 2009, 10:43

Отчет времени на AS3

Сообщение BIOS »

Помогите плиз! Дайте код отсчета времени на AS3
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Отчет времени на AS3

Сообщение Александр »

Код: Выделить всё

var repeat=10;var myTimer:Timer=new Timer(1000,repeat);myTimer.addEventListener(TimerEvent.TIMER, timerListener); function timerListener(e:TimerEvent):void {    repeat--;    trace("Timer is Triggered " + repeat);}myTimer.start();
Аватара пользователя
BIOS
КИДАЛА!
Сообщения: 68
Зарегистрирован: 04 ноя 2009, 10:43

Re: Отчет времени на AS3

Сообщение BIOS »

Александ я имел ввиду как вот этот скрипт

Код: Выделить всё

// Создаём текстовое поле для отображения данных_root.createTextField("time_txt", 1, 10, 0, 290, 20);with (time_txt) {    border = true;}// Задаём дату до которой вести отчёт, пишем год, потом месяц (отсчёт месяцев начинается с 0), затем пишем числоyourDate = new Date(2010, 0, 0);yourDateMsec = yourDate.getTime();//F_countDown = function () {    // создаём класс Date , который отслеживает текущее время    nowDate = new Date();    // Вычисляем количество милисекунд    nowDateMsec = nowDate.getTime();    //    var msec = yourDateMsec-nowDateMsec;    // Делаем проверку на наступление даты    if (msec<=0) {        // Если наступило        time_txt.text = "Уже наступило";        clearInterval(interval);    } else {        // Если ненаступило то продолжаем выполнение счётчика        // Вычисляем из общего количества милисекунд, количество секунд        var sec = Math.floor(msec/1000);        // Вычисляем из общего количества милисекунд, количество минут        var min = Math.floor(sec/60);        // Вычисляем из общего количества милисекунд, количество часов        var hour = Math.floor(min/60);        // Вычисляем из общего количества милисекунд, количество суток        var day = Math.floor(hour/24);        // Отсекаем от полученных секунд остаток от деления, т.е. то число которое осталось        // при делении на 60 так как в минуте 60 секунд        sec %= 60;        // при делении на 60 так как в часе 60 минут        min %= 60;        // при делении на 24 так как в сутках 24 часа        hour %= 24;        // Записываем результат в текстовое поле        time_txt.text = "Осталось: Дней "+day+", Часов: "+hour+", Минут: "+min+", Секунд: "+sec;    }};// Создаём setInterval для запуска нашей функции F_countDown, // который будет запускать её раз в секунду потому что чаще нам не нужноinterval = setInterval(F_countDown, 1000);// Запускаем функциюF_countDown(); 
Вот только этот на AS2, можно как нибудь сделать тоже самое только на AS3
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Отчет времени на AS3

Сообщение Александр »

Можно сделать практически так же.

Код: Выделить всё

// Создаём текстовое поле для отображения данныхvar time_txt:TextField = new TextField();time_txt.autoSize = TextFieldAutoSize.LEFT;time_txt.x=10;time_txt.y=10;addChild(time_txt); // Задаём дату до которой вести отчёт, пишем год, потом месяц (отсчёт месяцев начинается с 0), затем пишем числоvar yourDate=new Date(2010,0,0);var yourDateMsec=yourDate.getTime();//function F_countDown() {    // создаём класс Date , который отслеживает текущее время    var nowDate = new Date();    // Вычисляем количество милисекунд    var nowDateMsec=nowDate.getTime();    //    var msec=yourDateMsec-nowDateMsec;    // Делаем проверку на наступление даты    if (msec<=0) {        // Если наступило        time_txt.text="Уже наступило";        clearInterval(interval);    } else {        // Если ненаступило то продолжаем выполнение счётчика        // Вычисляем из общего количества милисекунд, количество секунд        var sec=Math.floor(msec/1000);        // Вычисляем из общего количества милисекунд, количество минут        var min=Math.floor(sec/60);        // Вычисляем из общего количества милисекунд, количество часов        var hour=Math.floor(min/60);        // Вычисляем из общего количества милисекунд, количество суток        var day=Math.floor(hour/24);        // Отсекаем от полученных секунд остаток от деления, т.е. то число которое осталось        // при делении на 60 так как в минуте 60 секунд        sec%=60;        // при делении на 60 так как в часе 60 минут        min%=60;        // при делении на 24 так как в сутках 24 часа        hour%=24;        // Записываем результат в текстовое поле        time_txt.text="Осталось: Дней "+day+", Часов: "+hour+", Минут: "+min+", Секунд: "+sec;    }} // Создаём setInterval для запуска нашей функции F_countDown, // который будет запускать её раз в секунду потому что чаще нам не нужноvar interval=setInterval(F_countDown,1000);// Запускаем функциюF_countDown();
Аватара пользователя
BIOS
КИДАЛА!
Сообщения: 68
Зарегистрирован: 04 ноя 2009, 10:43

Re: Отчет времени на AS3

Сообщение BIOS »

Спасибо огромное!
romarius777
Сообщения: 24
Зарегистрирован: 03 ноя 2009, 15:30

Re: Отчет времени на AS3

Сообщение romarius777 »

А как сделать, чтобы генерировалось случайное число и от этого числа начиналя отсчет времени?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Отчет времени на AS3

Сообщение Александр »

romarius777
Для генерация случайного числа используй Math.random()
Если нужно от одного числа досчитать до другого, то можно просто немного доработать код из второго собщения этой темы.
romarius777
Сообщения: 24
Зарегистрирован: 03 ноя 2009, 15:30

Re: Отчет времени на AS3

Сообщение romarius777 »

Александр.
Правильно ли я понял, как это сделать?

Код: Выделить всё

var repeat=Math.random(100);var myTimer:Timer=new Timer(1000,repeat);myTimer.addEventListener(TimerEvent.TIMER, timerListener); function timerListener(e:TimerEvent):void {   repeat--;   a.text = ("Timer is Triggered " + repeat);}myTimer.start();
И при компиллиции выдает ошибку :
1137: Incorrect number of arguments. Expected no more than 0.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Отчет времени на AS3

Сообщение Александр »

romarius777
Где ты прочитал о таком использовании Math.random() ?

Math.random() - это случайное число, может быть даже не целым.
repeat - в этом случае должно быть целым числом.

Округляй случайное число:

Код: Выделить всё

int(Math.random()*100)
repeat - количество повторов таймера. Чтобы узнать, сколько тебе нужно сделать повторов от одного числа до другого, нужно сделать некоторые вычисления.
Аватара пользователя
psix55
Модератор
Модератор
Сообщения: 1015
Зарегистрирован: 09 дек 2009, 17:16

Re: Отчет времени на AS3

Сообщение psix55 »

вопрос : можно как-нибудь сделать чтобы начинал отчёт от UNIXTIME , а не от нормальной даты??? :D
заранее спасибо!
Ответить