quick - cocos2d 遮罩 ClippingNode

这几天用到了遮罩,在网上看了很多例子,也遇到些问题,所以就要记下来,以后再用到可以直接拿来用,好记性不如烂笔头嘛。哈哈 不说了,直入正题.....

--创建裁剪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上面屏幕变成了白色,但是在模拟器(手机)上面是好的,所以大家遇到可以在模拟器(手机)跑下
  **--

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值