cocos2d中,设置层的可视区域在真机上不管用
-(void) visit{
glEnable(GL_SCISSOR_TEST);
glScissor(120,130, 240, 100);
[super visit];
glDisable(GL_SCISSOR_TEST);
}
这个在模拟器上是可以用的,但是在真机上什么都看不到,不知道是不是参数设置的不对?
自己改成
- (void)visit
{
CGFloat scale = [[CCDirector sharedDirector] contentScaleFactor];
CGPoint pos = self.position;
glEnable(GL_SCISSOR_TEST);
glScissor(pos.x*scale,
pos.y*scale,
self.contentSize.width*scale,
self.contentSize.height*scale);
[super visit];
glDisable(GL_SCISSOR_TEST);
}
这样就没问题了
文章讨论了在Cocos2d中使用GL_SCISSOR_TEST设置层的可视区域时,在真实设备上无法显示的问题。通过调整代码以考虑内容缩放因子,最终找到了解决方案。
1万+

被折叠的 条评论
为什么被折叠?



