![]() |
Бегущая строка (смещением х координаты текстового поля) дергается. Как исправить?
Есть код для бегущей строки (все примитивно, просто смещаем х-координату текстового поля под маской:
Код AS3:
Есть идеи, как можно решить такую проблему? |
Есть идея. Можно двигать не по таймеру, а по ENTER_FRAME и двигать относительно дельты.
|
Цитата:
|
Может быть, так: сам текст не добавлять в Display List, а вместо него добавлять какую-то Bitmap, в bitmapData которой методом draw() рисовать ваш текст?
|
Цитата:
|
Цитата:
|
Таймер тут явно не нужен, SuriTheAngel очень прав. Ведь таймер у вас на 60 миллисекунд. И допустим флеш ролик у вас на 30 fps (33,3333.... мс). Рендер кадра происходит по ентерФрейм, каждые ~33 мс, а таймер обновляет позицию текста лишь каждые 60 мсек. Значит текстовое поле двигается примерно через кадр и то не стабильно.
Проверил у себя сделать с ентерФреймом, и текст двигается очень хорошо, плавно, даже без дельты. |
Таймер кроме того ещё и ведёт себя неадекватно. Например, тормозится при потере фокуса окна с флешкой или затормаживается на дополнительные миллисекунды вместе с торможениями системы.
|
samana, таймер ведь синхронизируется с enterframe.
но все равно, событие enterframe - то, что максимально приблизит к вертикальной синхронизации(vsync). если проблема именно в vsync, то ничего не поделать. в некоторых версиях плеера все нормально, в некоторых нет. вот например у меня сейчас 14,0,0,125 - есть лаги(дергания эти). если пытаться решать проблему, то как минимум надо лезть в stage3d |
Цитата:
Код AS3:
Код AS3:
|
| Часовой пояс GMT +4, время: 12:54. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.