我要做一个列表,需要指定显示区域, 根据网上资料,具体做法如下:创建一个 类 继承自CCNode,重写visit()函数,具体实现如下:
void RectNode::visit()
{
if (!isVisible())
{
return;
}
glEnable(GL_SCISSOR_TEST);
float factor = CCDirector::sharedDirector()->getContentScaleFactor();
glScissor((GLint)(m_showRect.origin.x*factor), (GLint)(m_showRect.origin.y*factor), (GLsizei)(m_showRect.size.width * factor), (GLsizei)(m_showRect.size.height * factor));
CCNode::visit();
glDisable(GL_SCISSOR_TEST);
}然后如下使用:RectNode* m_CharacterListNode = (RectNode*)RectNode::node();
m_CharacterListNode->setRect(m_CharacterListRect);//设置显示区域
可是没有得到我想要的效果,求大神指导。
void RectNode::visit()
{
if (!isVisible())
{
return;
}
glEnable(GL_SCISSOR_TEST);
float factor = CCDirector::sharedDirector()->getContentScaleFactor();
glScissor((GLint)(m_showRect.origin.x*factor), (GLint)(m_showRect.origin.y*factor), (GLsizei)(m_showRect.size.width * factor), (GLsizei)(m_showRect.size.height * factor));
CCNode::visit();
glDisable(GL_SCISSOR_TEST);
}然后如下使用:RectNode* m_CharacterListNode = (RectNode*)RectNode::node();
m_CharacterListNode->setRect(m_CharacterListRect);//设置显示区域
可是没有得到我想要的效果,求大神指导。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货