从注册点更改动画片段的高度

时间:2012-01-01 09:44:06

标签: flash actionscript-3 actionscript

有没有办法只扩展动态Movieclip的底部?我试图改变高度或缩放我的mc,但它总是使变化相对于Movieclip的中心。我想我应该定义一个注册点并根据它改变高度,但我不知道该怎么做。希望有人能指导我。谢谢。

2 个答案:

答案 0 :(得分:2)

http://www.flashwonderland.com/transformation-matrix/transformation-matrix-2.html

您可以使用矩阵变换来实现这种效果。

从顶部开始使用这样的比例:

var scaleFromTopY:Number = 2;// change this to the correct number.
var scaleFromTopX:Number = 1;// change this as well

var topScaleMatrix:Matrix = new Matrix(
        scaleFromTopX, 0,
        0, scaleFromTopY,
        0, (mc.height*scaleFromTopY)/2 // Make this last part into -(mc.height*scaleFromTopY)/2 to scale from the bottom
);
mc.transform.matrix = topScaleMatrix;

您还可以将矩阵与Matrix.concat(m:Matrix);

组合使用

答案 1 :(得分:0)

在Flash中,永远不能更改注册点,要解决此问题,必须将所有子元素放在相对于(0,0)点的所需位置。无论内容放置在DisplayObject内部,所有转换都将围绕此(0,0)点发生。