ГлавнаяПо делу › Flash для начинающих. Здравствуй йолка новый год! Или отсчёт оставшегося времени до нового года (а так же любой другой даты)

Flash для начинающих. Здравствуй йолка новый год! Или отсчёт оставшегося времени до нового года (а так же любой другой даты)

December 29th, 2008

В канун Нового Года меня постоянно достают с одним и тем же вопросом:
— Слушай! надо скрипт что бы показывал сколько времени осталось до Нового Года.
А потом там типа зайчики выпригивают и дед Мороз едет на санках с подарками.
Сделаешь?

Это пример
(отсчитывает с 7 Декабря 4:00 утра. Тоесть покажет 24дня, 19 часа вне зависимости когда вы загрузили эту страницу)


Это работающий пример (отсчитывает от полученой с сервера даты. Попробуйте поменять системное время. Ничего не изменится)


Еще пример (отсчитывает время до юбилея (11 Августа 2008) моего друга Ивана Дембицкого. Установлен по его просьбе в качевсте напоминания. В даном случаи при смене системного времени дата будет менятся. Так что, Ваня, не печалься и легким манием руки устанавливай какой хочешь себе возраст :))

NOTA BENE

Для того что бы это работало в параметры SWF файла добавляем переменную now_time

 <param name=“movie” value=“new_year_cownt_down.swf?now_time=<?echo time();?> />
и для
EMBED соответственно:
<embed src=”new_year_cownt_down.swf?now_time=<?echo time();?>” …/>
Ну и понятное дело работать это будет если на сервере стоит PHP.

А это сам скрипт и есть

//
var interval:Object = {};
//
var new_year_day = new Date(2007, 0, 1); // наш новый год. или какой там он уж будет нужен на день прочтения этого текста.
AsBroadcaster.initialize(Date.prototype); // инициализируем объект ДАТА... неважно что это значит :)
new_year_day.addListener(this); // добавляем на прослушку обновлений.
//
var sec_count = 0;
//
interval.id = setInterval(function () {
        sec_count += 1000;
        if (_root.now_time != undefined && _root.now_time != null) {
                var now = new Date(_root.now_time*1000+sec_count);
                //	задаем время с сервера
                //(это если хитрый юзер захочет поменять системное время у себя на компе и до срока посмотреть что будет).
        } else {
                var now = new Date();
                // Это сиюминутная дата. тоесть сейчас. если не задано с сервера.
        }
        var d:Number = Math.floor((new_year_day.getTime()-now.getTime())/86400000);
        //86400000 - милисекунд в сутках
        // подсчет разници
        var h:Number = Math.abs(now.getHours()-23);
        var m:Number = Math.abs(now.getMinutes()-59);
        var s:Number = Math.abs(now.getSeconds()-60);
        // транслируем событие обновления (сейчас-до НГ)
        now.broadcastMessage("updateTime", d, h, m, s);
        if (d<0) {
                // С Новым Годом!!
                now.broadcastMessage("OnNewYearCome");
                clearInterval(interval.id);
                // все хватит. отсчитали.
        }
}, 1000, this);
//
// Это я думаю можно оставить без комментариев.
this.updateTime = function(d, h, m, s) {
        // поскольку это не литературынй вечер, то уж как есть без склонения обойдемся.
        var str = "До Новго 2007 Года осталось "+d+"дня, "+h+" часа "+m+" минут и "+s+" секунд.";
        //trace(str);
        txt.text = str;
};
this.OnNewYearCome = function() {
        //с этого места можно запускать зайчиков, белочек, феерверки и Дед Мороза на санках.
        txt.text = "Здравствуй йолка новый год!";
};
// Готово

Скачать исходник (6 Kb)

Категория: По делу

Смотрите также

Тестовые задачи для соискателей на должность Flash разработчика компании Envisionext, Inc. Декодирование картинки из Base64 и вывод полученого изображения во Flash.
  1. Пока без комментариев.
  1. Пока нету.