Форум 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)
-   -   Таймер обратного отсчета на Shared Object (http://www.flasher.ru/forum/showthread.php?t=209271)

Кот Баюн 24.10.2014 16:29

Таймер обратного отсчета на Shared Object
 
Всем доброго времени суток!
Возникла одна трудность.

Видел в Интернете исходники таймеров обратного отсчета, на которых можно засечь N часов-минут-секунд, вроде бы все понятно.
А как можно прикрутить такой таймер к SharedObject, чтобы после закрытия флешки отсчет продолжался?

Возможно для этого надо записать текущую дату-время и дату-время окончания таймера и сверять их при открытии флешки?

silin 24.10.2014 21:19

что-то вы тут недоформулирвали: если после закрытия отсчет продолжается, то и сравнивать нужно текущее системное время с временем Ч, зачем нужно время закрытия предыдущей флешки ?

Кот Баюн 24.10.2014 23:06

наверное недоформулировал.
ну короче говоря, примерно так.

я хочу засечь, допустим, шесть часов с какого-то момента, и чтобы после закрытия флешки таймер продолжал работать,

то есть, если открыть флешку через четыре часа, то он показывал бы, что два осталось.


Получается, записать в Shared Object начало и конец отсчета и отследить, идет отсчет или нет.

silin 24.10.2014 23:30

>>я хочу засечь, допустим, шесть часов с какого-то момента

когда этот момент наступит, запоминаем его в SO
при следующем старте используем для сравнения с текущим временем

вопрос-то в чем?

Кот Баюн 25.10.2014 11:14

вопрос в том, что не знаю, как на практике прикрутить код от обычного таймера к SO.
опыта мало в этом.

dark256 25.10.2014 12:01

А что та прикручивать-то? Записать в СО две цифирки - время старта и время длительности отсчета.
При запуске считываем, вычитаем и видим сколько ост.

Код AS1/AS2:

function loadSettings( file, defaults ){
 
        var answer = new Object()
        var newset = SharedObject.getLocal( file )
 
        if ( newset.data.dat != undefined )
        {
                trace(file+" ### Settings Loaded. OK")
                answer = newset.data.dat
        }
        else
        {
                trace(file+" ### No Settings")
                saveSettings( file, defaults )
                answer = defaults
        }
        return answer               
 
}
function saveSettings( file, obj ){
        trace("### Save settings: "+file)
        var saveset = SharedObject.getLocal( file )       
        saveset.data.dat = obj
        saveset.flush()               
 
}
 
var timerData = loadSettings("my_timer", {start:new Date(), finish:new Date()+10000})

По дефолту имеем данные для 10-секундного каунтдауна.

Для нескоькоих таймеров сохраняем не единичный объект, а массив объектов.
http://vk.com/TIMERS

Кот Баюн 25.10.2014 12:35

Что-то я не совсем понял, куда они выводятся, цифры-то
Переменная timerData выдает значение [object Object]

dark256 25.10.2014 19:54

timerData.start
timerData.finish

Кот Баюн 26.10.2014 10:43

Интересно получается, старт у нас

Mon Oct 27 12:41:19 GMT+0600 2014

а финиш

Mon Oct 27 12:41:19 GMT+0600 201410000

что-то не так

dark256 26.10.2014 12:51

Я на вскидку код даты кинул. Допилить до работоспособного состояния слегка неплохо бы.


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

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