(ActionScript)使用蒙版更改影片剪辑宽度

时间:2010-03-12 23:47:31

标签: actionscript masking

有没有办法以改变对象宽度和高度的方式屏蔽影片剪辑?我有一个宽度较大的儿童影片剪辑,所以我在操作父影片剪辑的比例宽度,高度和坐标时遇到问题。

我很感激帮助。谢谢。

4 个答案:

答案 0 :(得分:4)

Colin Moock在这里有一篇很好的文章,包括一种通过位图获得可见宽度和高度而不是内容的宽度和高度的繁琐方法:

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

答案 1 :(得分:1)

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

首先为movieclip创建一个类,该类将保存蒙版和“要屏蔽的项目”。

此动画片段必须具有相同的宽度和蒙版的高度才能在不改变影片尺寸的情况下操纵内部数据。

为了做到这一点,我简单地覆盖了它的宽度和高度。 像这样:

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影片中;

希望它有所帮助!

答案 2 :(得分:0)

使用父级的_xscale和_yscale属性(而不是_height和_width)可能会有所帮助,因为这些属性不受子对象的大小影响。

因此,如果您的parentClip为50宽x 80高,那么将其重新调整为150 x 160(

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

(这是针对AS2的,但AS3的代码类似......你的问题并不具体)

答案 3 :(得分:0)

你也可以抓住面具本身的尺寸而不是动画片段。