ClippingNode的一些逻辑

 

 

ClippingNode可以用来对节点进行裁剪,可以根据一个模板(也就是图片)切割图片的节点,生成任何形状的节点显示。使用方法如下:

Sprite *target = Sprite::create(".png"); //

ClippingNode * outerClipper = ClippingNode::create();

outerClipper->retain();

outerClipper->setStencil( target ); //把target精灵设置为模板,也就是底板

//然后再创建真正的裁剪模板

ClippingNode * holeClipper = ClippingNode::create();

//设置holeClipper的属性

holeClipper->setInverted(true);

holeClipper->setAlphaThreshold( 0.05f );

holeClipper->addChild( target );//添加target作为子节点,target 也就是 底板才能显示

Node * holes = Node::create(); holes->retain();

 //holes是用来裁剪的模板,holes添加的子精灵图片是什么形状,就会在底板上裁剪出一个什么形状的空白区域。

holes->addChild(  "裁剪模板精灵类"   );

holeClipper->setStencil( holes );

 

这就OK了。

ClippingNode的一些逻辑