有谁知道如何将 Cocos2d 2.x 中特定精灵的混合模式更改为 GL_FUNC_SUBTRACT?
我尝试了一些事情,但基本上我正在尝试使用白色(或黑色)圆圈创建图层蒙版并隐藏 alpha。
有谁知道如何将 Cocos2d 2.x 中特定精灵的混合模式更改为 GL_FUNC_SUBTRACT?
我尝试了一些事情,但基本上我正在尝试使用白色(或黑色)圆圈创建图层蒙版并隐藏 alpha。
您可以尝试为此目的实现您的包装器 Sprite。该类(假设是 SubSprite)应该继承 CCNode 类并有一个成员,即您想使用 GL_FUNC_SUBTRACT 绘制的常规 CCSprite。
用这样的东西覆盖 draw 方法:
-(void) draw{
int oldEquation;
glGetIntegerv( GL_BLEND_EQUATION_ALPHA, &oldEquation);
glBlendEquation( GL_FUNC_SUBTRACT );
[targetSprite draw];
glBlendEquation( oldEquation );
}
我还没有尝试过,但它应该可以工作,你不必重写整个精灵绘图功能。