ios - 如何使CCRenderTexture透明

标签 ios iphone cocos2d-x

我正在尝试在 Cocoss2d-x 中使 CCRenderTexture 的空部分透明而不是黑色。有什么解决办法吗?

这是我的代码

cocos2d::CCPoint screenMid = ccp(size.width * 0.5f, size.height * 0.5f);

CCRenderTexture * masked = CCRenderTexture::create(size.width, size.height);    
masked->getSprite()->setBlendFunc((ccBlendFunc) { GL_ONE_MINUS_SRC_ALPHA, GL_SRC_ALPHA });
masked->setPosition(screenMid);
this->addChild(masked);

最佳答案

通常应该有一个“清除”函数,您可以在将任何内容绘制到渲染纹理之前调用该函数。至少cocos2d-iphone版本是有的。

如果您将透明颜色设置为使用 0.0 alpha,那么这将使渲染纹理最初完全透明。

关于ios - 如何使CCRenderTexture透明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19893881/

相关文章:

ios - 如何在PDF上下文中绘制文本

ios - 转到我的自定义服务器时 GET 和 POST 请求失败

iphone - UIView/CALayer的通用类/协议(protocol)-软件设计问题

iphone - 加速度计移动的距离

c++ - cocos2d-x C++ 字符串unicode转换

ios - 是否可以在不使用 LibGDX 的情况下从 RoboVM 访问 OpenGL ES?

objective-c - 实例化时使用代码更改 Storyboard中的自定义类

ios - 退出 iPhone 应用程序的正确方法?

java - 尝试更新 cocos OpenSSL 时出错

c++ - 在 Visual Studio 的 cocos2d 中添加 Sprite 时出现未处理的异常