关于裁剪,这个我有遇到一个坑(3.4)的,在做裁剪的时候,整个背景色都是灰色,没有裁剪效果,C++上是可以正常运行,显示裁剪效果,但是用Lua就没有,我找了半天也没有找到原因,。最后在一片文章中看到了这样一句话:
需要在初始化app的时候,添加如下代码:
_app = new AppDelegate();
<span style="color:#ff0000;"> _app->initGLContextAttrs();</span>
需要手动添加红色字体哪行代码就可以了。
local visibleSize = cc.Director:getInstance():getVisibleSize()
local background = cc.Sprite:create("HelloWorld.png");
background:setPosition(cc.p(visibleSize.width / 2, visibleSize.height / 2));
self:addChild(background, kTagBackground);
local clip = cc.ClippingNode:create()
clip:setInverted(true)
clip:setAlphaThreshold(0.0)
self:addChild(clip, kTagClipNode)
local back = cc.LayerColor:create(cc.c4b(0, 0, 0, 200))
clip:addChild(back)
--以下模型是带图像遮罩
local nodef = cc.Node:create()
local close = cc.Sprite:create("CloseSelected.png");
nodef:addChild(close)
nodef:setPosition(cc.p(visibleSize.width / 2, visibleSize.height / 2))
clip:setStencil(nodef)