ClippingNode(裁剪节点)可以用来对节点进行裁剪,可以根据一个模板切割图片的节点,生成任何形状的节点显示。
使用示例
- autobg=LayerColor::create(Color4B(255,255));
- this->addChild(bg,-1);//1
- autostencil=Sprite::create("CloseNormal.png");
- autoclipper=ClippingNode::create();
- clipper->setStencil(stencil);//设置裁剪模板//3
- clipper->setInverted(true);//设置底板可见
- clipper->setAlphaThreshold(0);//设置绘制底板的Alpha值为0
- this->addChild(clipper);//4
- autocontent=Sprite::create("HelloWorld.png");//被裁剪的内容
- clipper->addChild(content);//5
- clipper->setPosition(Vec2(visibleSize.width/2+origin.x,visibleSize.height/2+origin.y));
当clipper->setInverted(true);时显示的是底板中扣去模板的图像
当clipper->setInverted(false);显示的是模板大小的图片,相当于底板的精灵只显示模板非透明区域的图像。