2011-11-25 94 views
0

我正在使用AS2,我正在寻找一种方法来从中心缩放MC,这意味着宽度将在两侧同样展开。Flash AS2从中心位置缩放MC

例如..如果影片剪辑需要展开+10,那么它会在左边+5和右边+5。

因此,为了模拟前进的影片剪辑,左侧的位置将偏移-5然后缩放。

希望这是有道理的,如果不是只是让我知道。

+0

哪里的中心枢纽位置? – felipemaia

回答

1

如果你所关心的是缩放,它有点容易做到这一点:

var widthDiff : Number = newWidth - mc._width; 
var heightDiff : Number = newHeight - mc._height; 

var bounds:Object = mc.getBounds(this); 
var moveXPerc : Number = (bounds.xMin/(bounds.xMin + bounds.xMax))-0.5; 
var moveYPerc : Number = (bounds.yMin/(bounds.yMin + bounds.yMax))-0.5; 
mc._width = newWidth; 
mc._height = newHeight; 
mc._x = mc._x + (moveXPerc * widthDiff); 
mc._y = mc._y + (moveYPerc * heightDiff); 
1

当您在设置窗口上创建新的影片剪辑时,您将看到注册点。您需要选择中心的哪一个。

enter image description here

如果要动态地变更登记点再查这link

此外,您shouol要小心,当你加载一个新的对象到MC那么你的新对象0,0(的左上角)将等于持有人MC中心。