指定在sprite所存在的区域显示
超出范围隐藏
class TempNode : public cocos2d::CCNode
{
public:
TempNode(CCSprite* sprite)
: sprite_(sprite)
{
}
void visit()
{
if (!isVisible())
{
return;
}
glEnable(GL_SCISSOR_TEST);
float factor = CCDirector::sharedDirector()->getContentScaleFactor();
CCRect rect = sprite_->boundingBox();
glScissor((GLint)(rect.origin.x * factor), (GLint)(rect.origin.y * factor), (GLsizei)(rect.size.width * factor), (GLsizei)(rect.size.height * factor));
CCNode::visit();
glDisable(GL_SCISSOR_TEST);
}
CCSprite* sprite_;
};