不要缩放子movieClip吗?

时间:2009-07-02 04:48:26

标签: flash translation rotation scaling movieclip

我有一个关于如何转换父动画片段而不是子动画片段的问题...我有一个动画片段,其中包含一个图像加载器和一些句柄作为动画片段。句柄动画片段用于侦听鼠标事件以执行父动画片段的旋转和平移的功能缩放。这里的问题,当我缩放或旋转动画片段时,手柄也会旋转和缩放,虽然我希望它在父动画片段旋转时跟随父动画片段但我不希望手柄也可以缩放。

有没有办法避免手柄缩放。

谢谢

5 个答案:

答案 0 :(得分:4)

试试这个:

inside_mc.addEventListener(Event.ENTER_FRAME, function(){
    inside_mc.scaleX = 1/inside_mc.parent.scaleX;
    inside_mc.scaleY = 1/inside_mc.parent.scaleY;
});

答案 1 :(得分:3)

如果你没有坚持这种结构,我会重新排列。例如,我会建立它像这样:

- container
    - handles
    - image loader

这样您只需担心将句柄放在正确的位置而不是处理缩放问题。

如果必须保持相同的结构,则需要将手柄比例设置为父级比例的倒数。例如,如果父级的比例为2,则您希望句柄的比例为0.5。因此,要计算句柄的比例,你所要做的就是将1除以父母的比例。

答案 2 :(得分:0)

  1. 覆盖父MC中的set heightset width函数(您也可以scaleXscaleY)。
  2. 在重写的函数中设置值,通过调用super然后检查scaleX / scaleY
  3. 将子级MC的scaleX (宽度)scaleY (高度)设置为1./scaleX (宽度)1./scaleY (身高)
  4. 这很容易。

答案 3 :(得分:0)

在onEnterFrame处理程序或类似的东西中将scaleX和scaleY设置为1 /(parent.scaleX)和1 /(parent.scaleY)。

答案 4 :(得分:0)

你所描述的是更复杂的方法,并没有完全调整大小/重新定位,并且更多的CPU吃。最好的方法(在我睡觉的时候来到我身边)就是创建一个新的孩子,称之为backgroundMC(名称应该清楚)并调整backgroundMC的大小,而不是父级。父级将自动调整大小,但子窗口不会缩放