AS3 mask蒙板Demo

调用显示对象被指定的 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();  
}  
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值