加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

quick - cocos2d 遮罩 ClippingNode

发布时间:2020-12-14 16:23:05 所属栏目:百科 来源:网络整理
导读:这几天用到了遮罩,在网上看了很多例子,也遇到些问题,所以就要记下来,以后再用到可以直接拿来用,好记性不如烂笔头嘛。哈哈 不说了,直入正题..... --创建裁剪node local clippingNode = cc.ClippingNode:create() clippingNode:setPosition(0,0) clippin

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读