如何使用as3进行平滑移动?

Ben*_*nny 1 actionscript-3

我已经通过XML加载了一些图像并附加到动态创建的名为mc0,mc1,mc2 ...等的MovieClip中.

_loader.removeEventListener(ProgressEvent.PROGRESS, onLoadingAction);
count++;
var img:Bitmap =  Bitmap(e.target.content);
img.cacheAsBitmap = true;
img.smoothing = true;
img.alpha = 0;
TweenLite.to(MovieClip(my_mc.getChildByName("mc"+count)).addChild(img),1, {alpha:1,ease:Quint.easeIn});
Run Code Online (Sandbox Code Playgroud)

并在ENTER_FRAME处理程序内

for (i=0; i < mc.numChildren; i++)
{   
    my_mc.getChildAt(i).x -= Math.round((mouseX-stage.stageWidth/2)*.006);              

}
Run Code Online (Sandbox Code Playgroud)

Everthing工作正常.但它正在颤抖,所以看起来并不好看.

如何实现平稳运动?

Vla*_*kov 5

我使用的一种解决方案是将(x,y)位置舍入到最接近的整数.无论你是否已经为你的位图添加了平滑并缓存它,圆角都可以使它感觉不那么波动并且更平滑.

另外需要注意的是图像的尺寸.具有奇数尺寸的图像将不会像具有均匀尺寸的图像那样进行平滑处理.在我的博客文章Flash Smoothing Issue中查看如何解决此问题.