我想这样做,以便 CCNode(可能是 CCLayer、CCSprite 等)可以用着色器遮盖其所有子节点,以便在它们接近节点边界时逐渐遮盖它们,而无需修改它们的不透明度直接取值。例如,菜单可能如下所示:
在这种情况下,掩码将是一个渐变,可能看起来像这样:
我想这样做,以便 CCNode(可能是 CCLayer、CCSprite 等)可以用着色器遮盖其所有子节点,以便在它们接近节点边界时逐渐遮盖它们,而无需修改它们的不透明度直接取值。例如,菜单可能如下所示:
在这种情况下,掩码将是一个渐变,可能看起来像这样:
我知道这可能不是您想要的机制,但我最近想要一个以循环方式变化的渐变 alpha。我有一些会围绕精灵旋转的文本,我只希望它在圆圈顶部时可见。
对我来说最简单的方法是创建一个圆形带子的精灵,其中带子在底部是完全“黑色”,在顶部逐渐变回完全透明。
通过将其放在 z 顺序的上方,我得到了我想要的效果。我想你可以通过这种方式达到同样的效果
要查看它的实际效果,请查看我的应用程序的主菜单,Claustrophobic。
Ray Wenderlich 的网站上提供了创建遮罩精灵的基本教程,但我不确定它是否也允许您遮罩子节点。如果没有,那么您可能必须使用CCRenderTexture
, 将子节点绘制到纹理,然后最后使用教程中创建的遮罩节点对其进行遮罩。