2010-03-12 109 views

回答

4

科林莫克有一个很好的文章在这里的主题,包括一种麻烦的方式来获得可见的宽度和高度,而不是内容的宽度和高度,通过位图:

http://www.moock.org/blog/archives/000292.html

+0

谢谢拉斯你的参考帮助! – Ronal 2010-03-14 01:34:43

0

它可能有助于处理父级的_xscale和_yscale属性(而不是_height和_width),因为这些属性不受子对象的大小影响。

因此,如果您parentClip为50(宽)x 80高,然后重新大小是150×160,你做

parentClip._xscale=3; parentClip._yscale=2;//still works even after child is added 

(这是AS2,但代码将是AS3类似的东西。 ..你的问题不是特定的)

0

您还可以获取蒙版本身的尺寸,而不是动画片段。

+0

你如何动态地做到这一点?如果您必须对掩码的名称进行硬编码,那么您也可以对掩码的尺寸进行硬编码。 – Scott 2014-04-17 13:32:31

1

我在ActionScript中找到了一个简单的方法。

首先为动画片段创建一个类,该类将保存蒙版和“要蒙版的项目”。

此影片剪辑必须具有相同的宽度和遮罩的高度才能在不改变影片尺寸的情况下处理数据。

为了做到这一点,我简单地覆盖了这个宽度和高度。 事情是这样的:

public class MyMaskedItem extends MovieClip 
{ 
    public var mvMask:MovieClip; 
    public var mvContent:MovieClip; 

    public function MyMaskedItem() { 
     this.mask = mvMask; 
    } 

    /** 
    * Override width and height properties 
    */ 

    override public function get width():Number { return this.mvMask.width; } 

    override public function set width(value:Number):void 
    { 
     this.mvMask.width = value; 
    } 


    override public function get height():Number { return this.mvMask.height; } 

    override public function set height(value:Number):void 
    { 
     this.mvMask.height = value; 
    } 

}

而现在只是内容添加到mvContent电影;

希望它有帮助!

+0

谢谢。这解决了我的问题。 – 2012-09-06 02:17:27