![]() |
согласен полностью
|
2 Штрек
Цитата:
|
2 D12:
Сжатая_ZIP_Папка рулит, привет, за что у тебя плюсики то опять? А вообще я люблю onEnterFrame, потому что я тупой и альтернативных путей не знаю!!! |
Так все таки если для задачи все равно, что юзать onenterframe или setinterval?
|
Цитата:
|
что пишет хелп:
Цитата:
а вот по поводу загрузки проца (а это, согласитесь, основная проблема) - думаецца мне, что интервал потяжелее будет. хотя надо проверять :rolleyes: а по-хорошему, я не очень понимаю, как эти 2 функции перескаюцца. ведь там, где нам нужно именно событие на каждый фрейм (например, покадровое проигрывание анимации) - логично использовать onEnterFrame. а там, где нам нужен временной интервал > один кадр - логично использовать setInterval (нежели на onEnterFrame расставлять проверки, счетчики и условия всякие) :cool: |
Интервал(ы) удобно использовать тогда, когда необходим точный просчет изменений положения объекта. Например, в играх. Представим такую ситуацию - вылетает пуля, и она, врезавшись в тот или иной предмет, должна исчезнуть. Пуля, понятное дело, летит быстро. Как проверять совпадение и двигать пулю? Вариант 1. Юзать onEnterFrame. В этом случае у нас может возникнуть ситуация, когда смещение пули будет превышать хотя бы 10 пикселов - возможна такая фигня - пулька пролетит "насквозь" объекта, чья толщина менее 10 пикселов. Вариант 2. Юзать интервал (очень быстрый интервал, этак 1-10 миллисекунд) и большой fps. Тогда можно просчитывать совпадения каждые 1-10 миллисекунд и двигать пулю не более чем на пиксел-другой. Но в этом случае более чем два-три таких интервала установить будет нелегко, т.к. проц загружается жестко (при оптимизации других вещей, того же выявления совпадений с помощью раздления экрана на локации).
|
а можно просто в момент пуска пули просчитать, врежется она во что-то или нет. и когда. но такой вариант мало где подойдет, поскольку всю игру нужно будет строить совсем по другим принципам.
|
Ну если интервалы от fps не зависят, тогда все понятно.
Всем спасибо. |
Цитата:
Только что провел тест на FLASH MX, 2004 под рукой не было, поэтому не могу сказать как он справится моим тестом (кому не лень, повторите на 2004 и скажите результат). Итак, берем следующих код: Код:
u = function () {Результат:138,102,100,102,118,100,100,100,100,100,100,100,100,100,100,100,100,100 в начале завал, но потом все верно fps=6 108,109,113,112,111,113,112,111,113,112,113,111,111,113,112,111,113,112 погрешность в 11-12%, не очень хорошо fps=7 109,107,111,112,112,112,112,112,112,112,112,112,111,113,112,111,113,112 тоже самое а теперь поставте fps 11 или 12 164,172,175,177,176,176,176,176,176,176,176,176,178,174,176,176,176,176 ????? |
| Часовой пояс GMT +4, время: 16:51. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.