——遮罩的作用是指定一個顯示對象的可見區域,即這個顯示對象只在這個區域可見。
一、矩形遮罩
將一個矩形對象賦值給顯示對象的?mask
?屬性。
shp.mask = new egret.Rectangle(20,20,30,50);
【注】:這個矩形的坐標(20,20)和(30,50)是相對于被遮罩對象shp來定位的。
二、顯示對象遮罩
——顯示對象的可見區域由另一個顯示對象確定,可實現不規則遮罩。即可見區域是一個顯示對象的范圍。
//畫一個紅色的正方形var square:egret.Shape = new egret.Shape();square.graphics.beginFill(0xff0000);square.graphics.drawRect(0,0,100,100);square.graphics.endFill();this.addChild(square); //畫一個藍色的圓形 var circle:egret.Shape = new egret.Shape(); circle.graphics.beginFill(0x0000ff); circle.graphics.drawCircle(25,25,25); circle.graphics.endFill(); this.addChild(circle); square.mask = circle;
【注】:用作遮罩的顯示對象可設置動畫、動態調整大小。
遮罩顯示對象不一定需要添加到顯示列表中。但是,如果希望在縮放舞臺時也縮放遮罩對象,或者如果希望支持用戶與遮罩對象的交互(如調整大小),則必須將遮罩對象添加到顯示列表中。
通過將?mask
?屬性設置為?null
?可以刪除遮罩:
mySprite.mask = null;
【注】:不能使用一個遮罩對象來遮罩另一個遮罩對象。
【注】:顯示對象作為遮罩,無需像矩形遮罩那樣重復賦值?mask
,但是?mask
?必須是顯示列表里的元素。
?