调用显示对象被指定的 mask
对象遮罩。 要确保当舞台缩放时蒙版仍然有效,mask
显示对象必须处于显示列表的活动部分。 但不绘制 mask
对象本身。 将 mask
设置为 null
可删除蒙版。
要能够缩放遮罩对象,它必须在显示列表中。 要能够拖动蒙版 Sprite 对象(通过调用其 startDrag()
方法),它必须在显示列表中。 要为基于 sprite 正在调度的 mouseDown
事件调用 startDrag()
方法,请将 sprite 的 buttonMode
属性设置为 true
。
注意:单个 mask
对象不能用于遮罩多个执行调用的显示对象。在将 mask
分配给第二个显示对象时,会撤消其作为第一个对象的遮罩,该对象的 mask
属性将变为 null
。
实现 public function get mask():DisplayObject
public function set mask(value:DisplayObject):void
示例
以下代码创建 TextField 对象以及被设置为 TextField 对象的遮罩的 Sprite 对象。 当用户单击文本字段时,
drag()
事件侦听器函数会调用遮罩 Sprite 对象的
startDrag()
方法:
import flash.text.TextField;
import flash.display.Sprite;
import flash.events.MouseEvent;
var tf:TextField = new TextField();
tf.text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, "
+ "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. "
tf.selectable = false;
tf.wordWrap = true;
tf.width = 150;
addChild(tf);
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF0000);
square.graphics.drawRect(0, 0, 40, 40);
addChild(square);
tf.mask = square;
tf.addEventListener(MouseEvent.MOUSE_DOWN, drag);
tf.addEventListener(MouseEvent.MOUSE_UP, noDrag);
function drag(event:MouseEvent):void {
square.startDrag();
}
function noDrag(event:MouseEvent):void {
square.stopDrag();
}