![]() |
частота выполнения по EnterFrame... кратность
например, есть код, который выполняется 1 раз в 2 кадра
Код AS1/AS2:
|
Как раз про твою проблему https://www.youtube.com/watch?v=zr3YuhgpuYg
Если надо что-то выполнять через определенные промежутки времени, используй таймер |
таймер до этого стоял... на 45мс, но он глючит (иногда быстрее-медленнее на момент становится), не совсем с одинаковыми промежутками срабатывает... видимо из-за того, что сильно часто. Поменял на EnterFrame - стало равномерно, но теперь не могу подогнать скорость до нужной по EnterFrame... получается, что отдельно у каждого DisplayObjecta нельзя менять скорость кадров?
|
таймер то тикает равномерно просто флэш скорее всего не успевает обновить экран из-за низкого fps.
Если таймер тикает раз в 45 ms, то fps должен быть не меньше 23(1000/45).А лучше брать с запасом 30+ Цитата:
Вообще завязываться на enterframe дурная практика т.к. в зависимости от нагрузки он может тикать сильно медленнее заявленного fps. |
Цитата:
Код AS3:
Цитата:
Завязываться на EnterFrame это не дурная практика, а самая обычная, используемая везде. Единственное, что нужно усорвешенствовать обновление по EnterFrame и добавить замер длительности предыдущего кадра (delta time), и все расчеты производить с учетом этой величины |
Цитата:
Код AS3:
|
Цитата:
|
Цитата:
|
Привязывайся к прошедшему времени с последнего кадра. Так все делают.
|
Цитата:
|
| Часовой пояс GMT +4, время: 17:56. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.