cocos2d-x 2.2中的CCScrollView和CCTableView存在bug,导致区域裁剪错误
我是这样解决的, 在CCEGLView::setScissorInPoints里,根据不同旋转方向,设置不同参数
void CCEGLView::setScissorInPoints(float x , float y , float w , float h)
{
switch(m_orientation)
{
case DisplayOrientations::Landscape:
glScissor((GLint)(y * m_fScaleY + m_obViewPortRect.origin.y),
(GLint)(m_obViewPortRect.size.width - ((x + w) * m_fScaleX + m_obViewPortRect.origin.x)),
(GLsizei)(h * m_fScaleY),
(GLsizei)(w * m_fScaleX));
break;
case DisplayOrientations::LandscapeFlipped:
glScissor((GLint)(y * m_fScaleY + m_obViewPortRect.origin.y),
(GLint)(x * m_fScaleX + m_obViewPortRect.origin.x),
(GLsizei)(h * m_fScaleY),
(GLsizei)(w * m_fScaleX));
break;
default:
glScissor((GLint)(x * m_fScaleX + m_obViewPortRect.origin.x),
(GLint)(y * m_fScaleY + m_obViewPortRect.origin.y),
(GLsizei)(w * m_fScaleX),
(GLsizei)(h * m_fScaleY));
}
}