Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Обратный отсчет (http://www.flasher.ru/forum/showthread.php?t=147951)

Геннадий 17.12.2010 20:36

Обратный отсчет
 
Всем здравствуйте! Возник вот какой вопрос: надо сделать баннер рекламирующий определенный продукт, количество которого ограничено. Допустим всего 30 товаров. И надо сделать так, чтобы каждый день счет товара уменьшался.
Может конечно уже обсуждалась эта тема на форуме, ситуация не позволяет искать ответы и разбираться с данным вопросом. Если кто знает как правильно такое сделать, помогите пожалуйста!!! Буду очень благодарен!!

udaaff 17.12.2010 21:04

Вам в вакансии!!!

drnet_ua 17.12.2010 22:33

дату проверяйте

например на 17.12.2010 у вас было 100 утюгов, а 27.12 они должны закончится

100 утюгов / 10 дней = 10 утюгов в день

10 утюгов в день / 8 часов работы магазина (с 9 до 19) = 1 утюг в час

итого каждый час у вас утюги будут уменьшаться

если их много - можно брать еще и минуты/секунды

красота :)

Геннадий 18.12.2010 00:17

Я наверно не совсем правильно объяснил что именно мне надо сделать) Нужен баннер с таймером, но не по секундным, а по дням. Точнее на 30 дней. По истечению каждого дня, число уменьшается (30,29,28 и тд.)
Такое возможно сделать?

Спасибо!!!

etc 18.12.2010 00:35

Да, это возможно и вам нужно изучить досконально класс Date.

drnet_ua 18.12.2010 01:55

Код AS3:

public function countDown(startDate:Date = null, endDate:Date = null, itemCountStart:Number = 1000):Number 
                {                                               
                        if (startDate == null) {
                                                startDate = new Date(2010, 12, 1);
                        }
 
                        if (endDate == null) {
                                                endDate = new Date(2010, 12, 31);
                        }
 
                        var totalRange:Number = endDate.date - startDate.date;
 
                        var timePassed:Number = endDate.date - new Date().date;
 
                        return uint((timePassed / totalRange) * itemCountStart);               
                }

в пределах одного месяца работает :)

Геннадий 19.12.2010 16:53

А вот этот год может решить мою задачу? Если 1000 - это секунда, в минуте 60 секунд и тд.)))

Код AS1/AS2:

var count:Number = 30;
 
var myTimer:Timer = new Timer(1000,count);
 
myTimer.addEventListener(TimerEvent.TIMER, countdown);
 
myTimer.start();
 
function countdown(event:TimerEvent):void {
myText_txt.text = String((count)-myTimer.currentCount);
}


drnet_ua 19.12.2010 17:58

я думаю что нет.

а вы как думаете?

Геннадий 19.12.2010 18:11

Вот теперь и я думаю что нет)))))

Добавлено через 49 часов 12 минут
Вот такой код вроде как работает))) Но мне интересен вот какой момент, счетчик доходя до указанной даты начинает заново. Как это можно исправить?

var endDate:Date = new Date(2010, 12, 20, 24, 0, 0);
var endTime:Number = endDate.getTime();
this.onEnterFrame = function() {
var dif:Number = Math.floor((endTime-new Date().getTime())/1000);

var days:Number = Math.floor(dif/86400);
var sng='\n'+days+'';

pozd_txt.text=sng;
if(dif<=0){

delete this.onEnterFrame;
}
}


Часовой пояс GMT +4, время: 16:11.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.