前言
在Startling里的DisplayObject对象会存在一个mask的变量,可以把各种形状赋值进去,来得到一个新的图形。其形状不止局限于矩形,甚至多边形,圆形或者更复杂的组合。这一切可以使用Canvas来实现多边形圆形。
普通的方块使用方法
var image:Image = new Image(texture);
var quad:Quad = new Quad(100,100);
quad.x = 50;
quad.y = 50;
image.mask = quad;
这里已经实现了一个简易的方块遮罩。
复杂图形的遮罩
var canvas:Canves = new Canves();
canvas.beginFill(0x0);
//这里的arr储存多边形的顶点坐标
canvas.drawPolygon(new Polygon(arr));
canvas.x = 50;
canvas.y = 50;
//同样,可以使用自定义的顶点坐标来遮罩出一个新的图案
image.mask = canvas;
利用Canves的自定义顶点的功能,来实现一个自定义图形的遮罩。
AIR上的一些配置问题
<depthAndStencil>true</depthAndStencil>
请在initWindow标签里添加这个配置,否则会导致mask不可用。