0

我正在使用 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 计算可能不是最好的,但它们有效。他们花了我一段时间才弄清楚;)

4

1 回答 1

1

我建议您在创建补间之前运行您的逻辑,因此您首先要为补间提供调整后的值。或者您可以按照 Neil 的建议使用 onUpdate。

于 2012-08-23T13:48:39.557 回答