2012-02-16 5 views
0

Я программируете игру в as3, используя FlashDevelop все игроки (среди прочего) перемещается по экрану с помощью EnterFrame события, которые обновляют свои координаты в то время как он движется его трудно увидеть детали анимации и ее вид видят размытие как исправить эту проблему?движущегося объекта по экрану плавно в as3

+0

вы можете установить координаты пикселей в целые числа. –

+1

Другая вещь, которая может быть полезна в зависимости от типа движения и анимации, которую вы хотите - это Tweens. Просто google «Flash as3 Tweens» или ознакомьтесь с простым учебником, например [this] (http://www.zedia.net/actionscript-3-tweens-tutorial/) –

+0

действительно ли это означает, что вы выбрали его int? – Yosefki

ответ

2

Как отметил Патрик, следует избегать не целочисленных координат. Вам просто нужно округлить значения. Таким образом, вместо:

clip.x += value 

Использования:

clip.x += Math.round(value) 

Если вы установили Нецелочисленные согласовывает флэш клип может быть нечетким из-за сглаживание, как вспышка пытается расколоть пиксели. Вы также можете попробовать увеличить частоту кадров.

+0

У меня есть тот, который таким образом clip.x + = int (value), я думаю, что это то же самое, но я не могу видеть другой – Yosefki

1

Рассматривали ли вы использование библиотек Tweening?

Некоторые из них легкие и автоматически делают расчеты по движению в соответствии с FPS (который вы должны попытаться сохранить высокий)

Вот несколько из них:

  1. http://www.greensock.com/tweenlite/
  2. http://gskinner.com/libraries/gtween/

Надеюсь, это поможет

+0

. Я предпочитаю делать это сам, может быть, вы можете объяснить, как они это делают? – Yosefki

0
addEventListener(Event.ENTER_FRAME, smothMove); 

var i:int = 0; 
var j:int= 1; 

function smothMove (event:Event):void 
{ 

clip.x = clip.x + i; 
     i = i + j; 

} 
Смежные вопросы