Форум 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)
-   -   часы: альтернатива onEnterFrame (http://www.flasher.ru/forum/showthread.php?t=120240)

polol 15.01.2009 12:44

часы: альтернатива onEnterFrame
 
в скрипт встроены часы типа getDate. поскольку часы это только часть кода, то просчет времени onEnterFrame очень отягощает. какие могут быть альтернативы? точно ли будет отмерять время setInterval поставленный, скажем, на пол-секунды?

Zik. 15.01.2009 13:22

вообще не понятно чего вы хотите

Волгоградец 15.01.2009 13:53

Сам setInterval ничего не отмеряет. Можно поставить интервал в 1с чтобы обновлять экран раз в секунду.

polol 15.01.2009 14:54

я использую объект типа new Date, чтобы получать в режиме реального времени секунды, минуты, часы. в сцене объект движется в зависимости от этих данных (секунды умножаются на определенное число и это число задает координаты для объекта в сцене). и на данный момент время запрашивается onEnterFrame и объект движется onEnterFrame.

Zik. 15.01.2009 15:05

опять ничего не понял. если вам нужны только секунды, тогда:
Код AS1/AS2:

_root.onEnterFrame = function() {
      var a:Date = new Date();
      a.getSeconds();
}


Волгоградец 15.01.2009 16:20

Если юзать onEnterFrame, то при частоте кадров 30 будет 30 раз запрошено одно и то же значение - пустая трата ресурсов. В интервале логичнее было бы запрашивать текущее время.
Код AS1/AS2:

var a:Date = new Date();
var b:Number = a.getSeconds();
 
function seconds():Void{
  b = a.getSeconds();
}
 
var intID:Number = (this, "seconds", 1000);


chingachgoog 15.01.2009 16:28

Если нужно просто отлавливать полсекунды, то лучше setInterval трудно, что-то придумать - тогда может вообще эта затея с Date не нужна?

Fatality 15.01.2009 17:30

Цитата:

Сообщение от Волгоградец (Сообщение 790867)
var intID:Number = (this,"seconds",1000);

это как понимать ?оО

Код:

var intID:Number = setInterval(this, "seconds", 1000);
1000 милисекунд тут использовать нежелательно, если процессор будет перегружен и справится не за 1000, а например за 1018, в идеале использовать 250

polol 15.01.2009 18:55

большое спасибо за ответы.

а вот еще вопрос: если в сцене должно находиться несколько циферблатов (разные часовые пояса), то самым рациональным решением будет разместить там прототип-Object, свойства которого будут включать в себя все сдвиги во времени? и самый ли этот нетребовательный к ресурсам способ?

Fatality 15.01.2009 19:09

Цитата:

Сообщение от polol (Сообщение 790932)
самый ли этот нетребовательный к ресурсам способ?

в подобном приложении разница в производительности от использования объекта или храниения значений в отдельных переменных если и есть то настолько незначительна что не стоит об этом заморачиваться.
Делай как тебе удобнее, но лично я бы тоже выбрал объект =)


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

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