这几天用到了遮罩,在网上看了很多例子,也遇到些问题,所以就要记下来,以后再用到可以直接拿来用,好记性不如烂笔头嘛。哈哈 不说了,直入正题.....
--创建裁剪node local clippingNode = cc.ClippingNode:create() clippingNode:setPosition(0,0) clippingNode:setAlphaThreshold( 0.05 ) clippingNode:setInverted( true ) display.getRunningScene():addChild( clippingNode,1000 ) --AlphaThreshold:表示像素的透明度值。 -- 只有模板(stencil)中像素的alpha值大于alpha阈值时,内容才会被绘制。 -- AlphaThreshold:取值范围[0,1]。 -- 默认为 1 ,表示AlphaThreshold测试默认关闭,即全部绘制。 -- 若不是1 ,表示只绘制模板中,alpha像素大于alphaThreshold的内容。 -- 倒置显示 Inverted ------------- -- false :显示被模板裁剪下来的底板内容。默认为false。 -- true :显示剩余部分。 --创建模版 local stencil = display.newSprite( "res/xmj"..Config.imgext ) stencil:setPosition( 0,0 ) stencil:setAnchorPoint( 0.5,0.5) clippingNode:setStencil( stencil )
--设置要裁剪的底板 local content = display.newSprite( "res/xmjbg"..Config.imgext ) content:setAnchorPoint( 0.5,0.5) content:setPosition(0,0) clippingNode:addChild( content ) --需要开启深度测试 cc.Director:getInstance():setDepthTest( true )
-- 模板(Stencil):可以使用Layer、Node、Sprite等。 -- 底板 :可以使用Layer、Node、Sprite等。 -- Layer层
--** * 注意:我在PC上面屏幕变成了白色,但是在模拟器(手机)上面是好的,所以大家遇到可以在模拟器(手机)跑下 **-- (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|