【发布时间】:2014-09-27 07:51:12
【问题描述】:
我已经尝试使用所有 GL 功能拍摄黑暗,但我确信必须非常简单,但无济于事。我是新手。
我想取一个精灵并将其变暗。我对此的想法是加载精灵,在其上方添加一个灰色层(使用带有灰色的 CCLayerColor),应用某种 GL 函数,然后获取输出并将其显示在屏幕上。然而,在我尝试的每一个变体中,我的源图像都正确变暗了,它周围的透明度也受到了影响,显示为灰色。我需要将变暗效果掩盖为源精灵的形状。
这是我到目前为止的代码。如何正确掩盖变暗效果?
CCSprite* sprite = [CCSprite spriteWithSpriteFrameName: mod.backgroundImagePath];
CCLayerColor* tint = [CCLayerColor node];
[tint setColor:ccc3(205, 205, 205)];
//[tint setBlendFunc: (ccBlendFunc){GL_SRC_COLOR, GL_ONE_MINUS_DST_ALPHA}]; Need help here?
[sprite addChild:tint];
CCRenderTexture* rt = [CCRenderTexture renderTextureWithWidth:sprite.boundingBox.size.width height:sprite.boundingBox.size.height];
[rt begin];
[sprite visit];
[rt end];
【问题讨论】: