在补间期间夹紧

时间:2012-08-14 14:15:16

标签: actionscript-3 tweenlite

我正在使用Greensock的TweenLite(AS3)来放大和缩小图片。当在角落附近缩小时会变得棘手。 我想知道是否有办法在补间期间钳制宽度/高度/ x / y,以便它永远不会超出范围。

目前我有一个'修复'方法,我在补间完成时调用,但它并不理想。

我做了一个演示来展示我的意思,尝试在角落附近缩小。 (鼠标滚动缩放,单击以平移...)

http://cloudchamber.knapnokgames.com/CCMedia/CCImageViewer/CCImageViewer.html

更新:这是补间代码:

TweenLite.to(content, 0.3, { 
    width : _nativeWidth * newZoom , 
    height : _nativeHeight * newZoom,   
    x : (((content.x - origin.x) / content.width) * (_nativeWidth * newZoom)) + origin.x,
    y : (((content.y - origin.y) / content.height) * (_nativeHeight * newZoom)) + origin.y,
    onComplete: ClampContentPosition}); 

X和Y计算可能不是最好的,但它们有效。他们花了一段时间才弄明白;)

1 个答案:

答案 0 :(得分:1)

我建议您运行逻辑 BEFORE 甚至创建补间,因此您首先在补间中提供调整后的值。或者你可以像Neil建议的那样使用onUpdate。