剪切父级cclayer内的多个cclayers

时间:2013-12-11 09:18:54

标签: ios iphone objective-c cocos2d-iphone

我有一个CCScrollLayer,我想在其中设置多个CCLayer来刷页面和第四个。有些内容会在页面CCLayer上展开并进入下一页,因此在滑动时,您可以看到上一页中的内容推送到下一页。我想要实现的是类似于UIView函数,它会剪切到边界,在这里你不会看到图层的contentSize之外的任何内容。有谁知道怎么做这个?我希望页面大小与设备屏幕的大小相同。我尝试过这样做,但它没有达到预期的结果:

kmGLPushMatrix();
  glEnable(GL_SCISSOR_TEST);
  CGPoint startingPoint = ccp(0,0);
  glScissor(0,0,[UIScreen mainScreen].bounds.size.width,[UIScreen mainScreen].bounds.size.height);
  glDisable(GL_SCISSOR_TEST);
kmGLPopMatrix(); 

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:0)

您是否看过CCClippingNode(cocos2d版本2. +)...访问访问方法以获得一些灵感。在这里,来自doc:

/** CCClippingNode is a subclass of CCNode.
 It draws its content (childs) clipped using a stencil.
 The stencil is an other CCNode that will not be drawn.
 The clipping is done using the alpha part of the stencil (adjusted with an alphaThreshold).
*/