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了。