Серьезная проблема со скоростью полноэкранной текстовой анимации - PullRequest
1 голос
/ 26 ноября 2008

Я не могу найти подходящий способ заставить длинное textField плавно перемещаться горизонтально по экрану в полноэкранном режиме. Я пробовал много способов, но время от времени он зависает на несколько миллисекунд и разрушает весь опыт. Пожалуйста, если кто-то может помочь мне найти способ лучше всего анимировать большую динамическую строку на весь экран, я был бы очень благодарен. Я пытался использовать var myTween: Tween = new Tween (myText, "x", None.easeNone, 0, newX, 80, true); даже перемещать x вручную, используя таймер или событие кадра; он всегда застревает на несколько миллисекунд довольно часто, когда текст перемещается по экрану в полноэкранном режиме. Я также попытался использовать растровое изображение, но оно становится слишком пикселированным и не заметно улучшения производительности. Может быть, кто-то знает способ как-то оптимизировать анимацию в ActionScript 3 или использовать какой-то другой контроллер, кроме textField.

Спасибо за вашу помощь.

Ответы [ 2 ]

2 голосов
/ 09 декабря 2008

Я знаю, что уже довольно поздно, но вот список нескольких вещей, которые вы можете попробовать:

  • Вы можете попробовать использовать механизм анимации движения, например Tweener , который выполняет анимацию независимо от кадра, поэтому это поможет сделать движение более плавным.

  • Если текст не изменяется во время движения, вы можете установить свойство cacheAsBitmap в TextField в значение true.

  • Убедитесь, что режим AntiAlias ​​- это «Анимация», а не «Читабельность», поскольку режим читабельности будет выглядеть странно на движущемся TextField и будет замедлять процесс, поскольку Flash будет пытаться постоянно его воспроизводить. *

  • Вручную отрисовать весь TextField в растровое изображение и переместить растровое изображение. Похоже, вы, возможно, уже пробовали это, но если все сделано правильно, это значительно повысит производительность.

0 голосов
/ 26 ноября 2008

Похоже, ваша машина не успевает за всеми процессами, запущенными одновременно. Это реальность практически для всех приложений для совместной работы.

Чтобы уменьшить эффект, попробуйте уменьшить частоту кадров анимации. Это будет менее плавно, но длительность кадра будет постоянной, и пропуск будет намного менее заметным. Это может быть необходимым компромиссом с вашей текущей проблемой.

...