http://www.cocoachina.com/bbs/read.php?tid=97164 cocos2d中,设置层的可视区域在真机上不管用 -(void) visit{ glEnable(GL_SCISSOR_TEST); glScissor(120,130, 240, 100); [super visit]; glDisable(GL_SCISSOR_TEST); } 这个在模拟器上是可以用的,但是在真机上什么都看不到,不知道是不是参数设置的不对? 在真机上看不到显示的原因,推测是真机上的分辩率是640*960,位置超出了 自己改成 - (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); } 这样就没问题了