在遊戲的某些場合,需要展現一些如圓形、橢圓形以及特定形狀的,如果使用的地方比較多,需要美術逐個出圖的話難免會造成空間浪費,如果使用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 新增到節點中 下面,將把這個過程封裝到乙個方法中...