非常感谢博主
http://m.blog.youkuaiyun.com/blog/linchaolong/40106795
提供的讲解
--首先创建一个Node
local stencil = cc.Node:create()
--接下来使用一个圆形的图片作为头像框的大小
local iconHole = cc.Sprite:create("toolPics/headHole.png")
--在刚刚的节点上添加这个精灵图
stencil:addChild(iconHole)
--再依据刚刚的Node再创建一个用于裁切的Node
local clippingNode = cc.ClippingNode:create(stencil)
clippingNode:setInverted(false)
clippingNode:setAlphaThreshold(0)
--self是一个layer或者其他的Node容器即可
self:addChild(clippingNode)
--创建一个大于圆圈的图片精灵,添加在裁切功能的Node上
local playerHeadIcon = cc.Sprite:create("superBig.png")
clippingNode:addChild(playerHeadIcon)
--这个时候你就会发现
--虽然头像远远大于之前的圆圈范围
--但是只会显示出依靠模板(即依靠stencil)创建出的裁切区域(clippingNode)
--由于之前的模板是一个圆形的图片
--因此,我们显示的区域也是对应的圆形。
实际上这个头像有这么大: