![]() |
Гладкая анимация
Пытаюсь создать плавное движение текста, но во время движения он временами дергается и выглядит убого.
Пробовал двумя способами (обычным и блитированием) - результат одинаковый. Может кто подскажет как можно это исправить. Пример: http://stulnikov.com/example/ Код: Код AS3:
http://stulnikov.com/example/TestAnimation.rar |
Тебе надо в animation1()
Получить getTimer(), потом от него отнять getTimer() предыдущего кадра. Ты получишь сколько времяни прошло между кадрами. Дальше, зная время, и взяв скорость из настроек класса (например, 2 пикселя в секунду) ты считаешь на сколько пикселей тебе надо подвинуть текст. Двигаешь, рисуешь. Запоминаешь текущее время. Вроде все. Должно быть Добавлено через 2 минуты а, ну и еще не надо перерисовывать, если расстояние меньше одного пикселя. оО и не надо запоминать такое время. |
вы используете "ENTER_FRAME" что зависит от частоты обновления экрана.
что если так: Код AS3:
|
Может просто fps поднять? Судя по http://www.greensock.com/blitmask/ copyPixels, действительно, должен быть самым гладким вариантом.
|
Воспользовался советами - переделал на Timer.
Код AS3:
http://stulnikov.com/example2/ По моему не особо отличается. To:fljot С fps экспериментировал, положительных результатов не добился. Попробую просто сделать гифку, может красивее получится )) |
Цитата:
|
Цитата:
Цитата:
Код AS3:
|
Действительно туплю.
Стало лучше, но все равно двигается рывками, хоть и равномерными )) |
Цитата:
Timer(); Управляем анимацией. getTimer(); Расчёт времени на перерисовку избегая ошибок в движении. updateAfterEvent(); Перерисовываем анимацию программно(обновляем экран) т.е. только после того как методы выше выполнили свои задачи. Добавлено через 5 минут Цитата:
избегая вычитайте "time" из целого числа тогда получите равный интервал после каждой перерисовки экрана. Цитата:
|
Цитата:
|
| Часовой пояс GMT +4, время: 08:46. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.