1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

До открытия осталось (AS3)

Тема в разделе 'Flash', создана пользователем Napalm Rain, 22 май 2013.

  1. TopicStarter Overlay

    Napalm Rain Программист Пользователи

    Сообщения:
    195
    Лайки:
    245
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    rstudio
    Страна:
    Russian Federation Russian Federation
    Тут задался мыслью, что мне нужна такая штуковина, как обратный отсчёт до открытия сервера.
    Набросал такого плана вариант:
    [​IMG]
    Шаблон шаровый, скрипт, в принципе, тоже не секрет.
    В данном примере мы отсчитываем время до ближайшего нового года.
    Код:
    var now:Date = new Date(); // поточная дата
    var endDate:Date = new Date(now.getFullYear()+1,0,1); // дата события
    var countdownTimer:Timer = new Timer(1000); // таймер
     
    countdownTimer.addEventListener(TimerEvent.TIMER, updateTime);
    countdownTimer.start();
     
    function updateTime(e:TimerEvent):void {
        now = new Date(); // обновляем поточную дату
        if(now.getTime()>endDate.getTime()){ // если сейчас дата больше за дату события
              //c_countdoun.count.text = "00:00:00:00"; // уррра новый год)))
              c_countdoun.countD.text = "000";
              c_countdoun.countH.text = "00";
              c_countdoun.countM.text = "00";
              c_countdoun.countS.text = "00";
              c_countdown.countD.text = "000";
              c_countdown.countH.text = "00";
              c_countdown.countM.text = "00";
              c_countdown.countS.text = "00";
              countdownTimer.stop();
              return;
        }
        var timeLeft:Number = endDate.getTime() - now.getTime();// общее время в милисекундах
        var seconds:Number = Math.round(timeLeft / 1000); // секунды
        var minutes:Number = Math.round(seconds / 60); // минуты
        var hours:Number = Math.round(minutes / 60);  // часы
        var days:Number = Math.round(hours / 24); //дни
        seconds %= 60; // % - это остача от деления
        minutes %= 60;
        hours %= 24;
     
        var sec:String = seconds.toString();
        var min:String = minutes.toString();
        var hrs:String = hours.toString();
        var day:String = days.toString();
     
        // если число одноцифровое то добавляем 0 спереди
        if (sec.length< 2) {
                  sec = "0" + sec;
        }
        if (min.length< 2) {
                  min = "0" + min;
        }
        if (hrs.length< 2) {
                  hrs = "0" + hrs;
        }
        if (day.length< 2) {
                  day = "0" + day;
        }
     
        // выводим результаты как одну строчку или по отдельности
        //var time:String = day + ":" + hrs + ":" + min + ":" + sec;
        //c_countdoun.count.text = time;
        c_countdoun.countD.text = day;
        c_countdoun.countH.text = hrs;
        c_countdoun.countM.text = min;
        c_countdoun.countS.text = sec;
        c_countdown.countD.text = day;
        c_countdown.countH.text = hrs;
        c_countdown.countM.text = min;
        c_countdown.countS.text = sec;
    }
    Скрипт, конечно, не самый красивый, каждый может под себя редактировать, или может оставить всё как есть.
    Что бы открыть файл проекта, нужен flash не ниже sc6.

    Я для себя изменил ещё так:
    Код:
    if ((day.length<3)&&(day.length>1))
        {
            day = "0" + day;
        }
        if (day.length < 2)
        {
            day = "00" + day;
        }
    По приятней отображается.

    Вложения:

    Сэкс, SinG, Кот и 3 другим нравится это.
Черновик сохранён Черновик удалён

Поделиться этой страницей