我需要在父 MovieClip 中对元素进行无休止的水平滚动。
无论我尝试什么方法,都会出现“漂移”元素,最终元素开始重叠。
我已经尝试根据每个元素使用相对递归补间,但是这种方法在重复启动和停止后似乎容易出现相当多的错误。
//CODE START
function doScroll():void {
TweenLite.to(this, .25, {x:"20", ease:Linear.easeNone,onUpdate:checkPos,onComplete:doScroll});
}
//CODE END
我已经恢复到使用恒定速度对预定义位置进行绝对补间。这似乎更准确,但仍然会出现一些“漂移”。
//CODE START
//_dest is predefined
var speed:Number = 500;
var dist:Number = this.x - _dest;
var distAbs:Number = dist < 0 ? -dist : dist;
//kludge to get constant velocity by recalculating time every frame
_time = distAbs / speed;
TweenLite.to(this, _time, {x:_dest, ease:Linear.easeNone,onComplete:reset});
//CODE END
认为这应该很简单。任何人都可以向我指出任何可能的教程或提出任何建议吗?
任何帮助表示赞赏。