遮罩是很多地方都能用到的东西,新手教程,截图等等,都能用遮罩来实现。
- 遮罩的原理
知其然,知其所以然。遮罩其实可以理解为两部分,一个部分是一个layer,一个是模板。
我们可以把需要显示的内容加到这个layer中去,然后用模板对它进行裁剪。
比如你要裁剪一个圆形的头像,那么你要有一张圆形的图片,当然了,图片都是矩形的,这说的圆形是指的画的圆形
这就是我们的模板了
- 代码实现
--模板
local circle = cc.Sprite:create("cirl.png")
local bg = cc.Sprite:create("PlaySceneBg.png")
local m_clip = cc.ClippingNode:create()
m_clip:addChild(bg)
--设置模板
m_clip:setStencil(circle)
m_clip:setPosition(300,300)
--是否裁剪模板之外的内容
m_clip:setInverted(true)
--设置阿发值
m_clip:setAlphaThreshold(0.5)
self:addChild(m_clip)
将要裁剪的图片放入ClippingNode:create创建的节点中,然后设置模板
如果m_clip:setInverted(true)
m_clip:setInverted(false)
如此,你想要什么形状,只要把模板画成什么形状就行了。
网友评论