Просмотр полной версии : setInterval vs ENTER_FRAME
Собсна можно ли использовать setInterval() взамен ENTER_FRAME, для отрисовки програмной анимации и прочих динамичных удовольствий?
Какие-нибудь подводные камни, или противопоказания есть? может производительность разная? ... Вобщем интересно.
†‡Paladin‡†
15.01.2008, 19:26
это со всех сторон более правильный подход.
это со всех сторон более правильный подход.
Далеко не всегда и не везде.
вот интересно где именно не стоит применять.
Например если у меня эННое кол-во объектов, раньше каждый имел свой onEnterFrame и там чёт происходило. Теперь я каждому даю свой obj.intervarl=setInterval(actions,0,tratata). В виду недавнего перехода на ас3 немнога напрягает такой подход.
1. setInterval & setTimeout - в ас3 уже deprecated. Есть новый класс который называется Timer, (в as3 setInterval, setTimeout - реализованны через этот класс, + в setTimeout есть баг), так что лучше пользовать сразу класс Timer.
2. Как сказал __etc. в зависимости где использовать.
Mr. Fixit
16.01.2008, 11:52
+ в setTimeout есть баг
какой?
VovkaMorkovka
16.01.2008, 12:22
Далеко не всегда и не везде.
Вы знаете, если говорить о ЭКВИВАЛЕНТЕ enterFrame и Timer, то - есть о потоках, то таймер со всех сторон правильней.
Конечно, если мне нужно подождать пока произойдет enterFrame для каких - либо действий, то нужно ставить слушатель, но именно с целью произвести действия которые характерны для enterFrame, а не организовывать к примеру игровой цикл основанный на EnterFrame.
Вы знаете, если говорить о ЭКВИВАЛЕНТЕ enterFrame и Timer, то - есть о потоках, то таймер со всех сторон правильней.
Конечно, если мне нужно подождать пока произойдет enterFrame для каких - либо действий, то нужно ставить слушатель, но именно с целью произвести действия которые характерны для enterFrame, а не организовывать к примеру игровой цикл основанный на EnterFrame.
Не со всех сторон. enterFrame четко попадает в момент отрисовки кадра, а ваш чудо-таймер вообще не пойми по каким интервалам работает.
Если нужно отвязать анимацию от enterFrame, то смысл в использовании таймера есть. В остальных случаях мне непонятен смысл делать кривой аналог enterFrame.
VovkaMorkovka
16.01.2008, 14:27
Я говорю о событиях которые вообще никак не связаны с анимацией. Например игровой цикл: мне нужно, чтобы раз в n микросекунд выполнялся метод update класса gameModel. Причем изменения в gameModel в общем случае не сопровождаются изменением графики. Вот в этом случае однозначно таймер
VovkaMorkovka, тогда перечитайте первый пост и всю тему заново.
BlooDHounD
16.01.2008, 14:33
а продайте мне свой компутер? а то у меня на компе нет атомарных часов, которые измеряют время с точностью до микросекунд.
_Smirnoff
16.01.2008, 14:36
Для анимации только EnterFrame и ничего другого!
VovkaMorkovka
16.01.2008, 14:38
VovkaMorkovka, тогда перечитайте первый пост и всю тему заново.
Увидел :)
BlooDHounD
16.01.2008, 14:55
_Smirnoff, ЛЖЕЦ!
†‡Paladin‡†
16.01.2008, 18:11
а продайте мне свой компутер? а то у меня на компе нет атомарных часов, которые измеряют время с точностью до микросекунд.
А продайте мне свой глаз который может увидеть разницу в 10 милисекунд.
BlooDHounD
16.01.2008, 18:47
ээээээ .... :) не понял к чему вопрос? я думаю разницу в между 10 и 20 милисекундами увидит глаз любого человека :) ну может быть за исключением вас :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.