Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Проверка времени (http://www.flasher.ru/forum/showthread.php?t=213712)

TEI 22.12.2016 19:21

Проверка времени
 
Вечер добрый,

Мне необходимо постоянно получать время на устройстве пользователя, для создания отсчета таймеров.

Код AS3:

var _date:Date;
_date = new Date();
_date.getTime();

Время фиксируется при создании объекта. Поэтому приходится для каждой проверке создавать объект снова и снова. Как оптимизировать данную функцию?

При создании таймера я сохраню текущее время таким же способом

Код AS3:

var mysave:SharedObject = SharedObject.getLocal("SharedObject");
mysave.data.myTime=_date.getTime();


caseyryan 22.12.2016 20:57

Для чего это нужно оптимизировать? Если тебе нужно только лишь запомнить время создания объекта, вряд ли это будет тонким местом в программе

TEI 22.12.2016 21:03

Цитата:

Сообщение от caseyryan (Сообщение 1198176)
Для чего это нужно оптимизировать? Если тебе нужно только лишь запомнить время создания объекта, вряд ли это будет тонким местом в программе

Запомнить, да. Суть вопроса в постоянной проверке текущего времени на устройстве.
Не может ли постоянное создание нового объекта Date вызвать утечку памяти?

Код AS3:

_date = new Date();
_date.getTime();


undefined 22.12.2016 21:06

если дата нужна только для замера промежутков времени можно попробовать
getTimer
правда не уверен что он там внутри не создает ничего.

Партизан 22.12.2016 21:09

Есть функция getTimer() которая возвращает время с момента запуска. Т.е. дату можно запросить один раз при запуске, запомнить значение getTimer() на тот момент и потом прибавлять к сохраненной дате разницу между первым запросом и текущим.

TEI 22.12.2016 21:37

Мне нужно время не с момента запуска игры, а глобальное время. 22.12.2016 21:33
Чтобы отмерять в мобильной игрушке когда игрок запустил постройку здания(например), на завершение которого нужно 10 часов. И соответственно отображать разницу. Я просто обнаружил, что текущее время инициализируется лишь создании объекта, а не каждый раз когда я к нему обращуюсь

undefined 22.12.2016 21:47

создавай new Date раз в секунду(по таймеру) и не парься

Tails 22.12.2016 23:03

TEI,
Партизан дело говорит.

undefined 22.12.2016 23:50

насколько я понял интервал может быть растянут на несколько сессий в этом случае действительно использовать getTimer проблематично.

caseyryan 23.12.2016 06:07

Цитата:

насколько я понял интервал может быть растянут на несколько сессий в этом случае действительно использовать getTimer проблематично.
Чем проблематично?
Ничего же не мешает при старте сессии создавать новый Date, а потом опять юзать getTimer()


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

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