Starling air 不规则图形遮罩

2017-11-22  本文已影响0人  mengyong

前言

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

上一篇下一篇

猜你喜欢

热点阅读