cocos2dx遮罩

作者: 最怕认真 | 来源:发表于2016-05-26 17:55 被阅读386次

    遮罩是很多地方都能用到的东西,新手教程,截图等等,都能用遮罩来实现。

    • 遮罩的原理
      知其然,知其所以然。遮罩其实可以理解为两部分,一个部分是一个layer,一个是模板。
      我们可以把需要显示的内容加到这个layer中去,然后用模板对它进行裁剪。
      比如你要裁剪一个圆形的头像,那么你要有一张圆形的图片,当然了,图片都是矩形的,这说的圆形是指的画的圆形
    圆形.png

    这就是我们的模板了

    • 代码实现
     --模板
        local circle = cc.Sprite:create("cirl.png")
       
        local bg = cc.Sprite:create("PlaySceneBg.png")
       
        local m_clip = cc.ClippingNode:create()
      
        m_clip:addChild(bg)
        --设置模板
        m_clip:setStencil(circle)
        m_clip:setPosition(300,300)
        --是否裁剪模板之外的内容
        m_clip:setInverted(true)
        --设置阿发值
        m_clip:setAlphaThreshold(0.5)
        self:addChild(m_clip)
    

    将要裁剪的图片放入ClippingNode:create创建的节点中,然后设置模板
    如果m_clip:setInverted(true)

    true.png

    m_clip:setInverted(false)

    false.png

    如此,你想要什么形状,只要把模板画成什么形状就行了。

    相关文章

      网友评论

      • mrcode:m_clip:setAlphaThreshold 这里表示什么含义呢?

      本文标题:cocos2dx遮罩

      本文链接:https://www.haomeiwen.com/subject/dddxdttx.html