ClippingNode的簡單使用

2021-07-08 11:13:02 字數 1841 閱讀 5955

在遊戲的某些場合,需要展現一些如圓形、橢圓形以及特定形狀的,如果使用的地方比較多,需要美術逐個出圖的話難免會造成空間浪費,如果使用clippingnode剪裁節點,那麼只需要特定形狀的模板,那麼便可將一張要展現的裁成需要的樣子。而且clippingnode還常用於新手引導。

這裡有2張:

使用clippingnode可以將第一張剪成第二張圖的形狀。

1.c++版

#include

"2d/ccclippingnode.h"

//模板

sprite* stencil = sprite::create("res/mark.png");

clippingnode* c_node = clippingnode::create();

c_node->setstencil(stencil);

c_node->setinverted(false);

c_node->setalphathreshold(0.0f);

//需要剪裁的節點

sprite* sp = sprite::create("res/di.png");

c_node->addchild(sp);

addchild(c_node);

c_node->setposition(origin.x + visiblesize.width/2, origin.y + visiblesize.height/2);

結果如圖:

c_node->setalphathreshold(0.0f);時

c_node->setalphathreshold(1.0f);時

c_node->setalphathreshold(1.0f);時

2.lua版

local stencil= cc.sprite:create('res/mark.png')

local c_node = cc.clippingnode:create()

c_node:setstencil(stencil)

c_node:setinverted(false)

c_node:setalphathreshold(0)

local sp = cc.sprite:create('res/di.png')

c_node:addchild(sp)

layer:addchild(c_node)

c_node:setposition(origin.x+visiblesize.width/2,origin.y+visiblesize.height/2)

ClippingNode裁切節點

ccclippingnode clipper ccclippingnode create clipper setinverted true 設定底板可見 clipper setalphathreshold 0 設定繪製模板的alpha值為0 this addchild clipper ccnode ...

裁剪效果的實現 ClippingNode

1 首先要建立模板的精靈 建立模板是用來遮掩或者顯示當前模板的範圍的。sprite spritemb sprite create messageboard.png 2 然後使用剛才建立的模板精靈來建立模板,並將spritemb使用addchild 新增到模板中 node stencil node c...

ClippingNode的使用之為節點新增動態光效

效果 遊戲中經常會用到這種效果,今天,實現下,方便以後使用。實現方法 1.新增 clippingnode 2.為clippingnode 新增模板 即我們要新增動態光效的模板 3.新增光效到 clippingnode中 4.將clippingnode 新增到節點中 下面,將把這個過程封裝到乙個方法中...