Starling air 不规则图形遮罩

前言

在Startling里的DisplayObject对象会存在一个mask的变量,可以把各种形状赋值进去,来得到一个新的图形。其形状不止局限于矩形,甚至多边形,圆形或者更复杂的组合。这一切可以使用Canvas来实现多边形圆形。

普通的方块使用方法

varimage:Image =newImage(texture);

varquad:Quad =newQuad(100,100);

quad.x =50;

quad.y =50;

image.mask = quad;

这里已经实现了一个简易的方块遮罩。

复杂图形的遮罩

varcanvas: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不可用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容