我想在 Cocos2D 中创建一个画笔。我有一个 png 文件,它指定图像的 alpha 通道值。(只有一个通道)我想将 alpha 值赋予 ccsprite 的纯色纹理。并利用 ccsprite 单元作为 pan.在屏幕上绘制。
我如何在编程中做到这一点?
非常感谢!
我想在 Cocos2D 中创建一个画笔。我有一个 png 文件,它指定图像的 alpha 通道值。(只有一个通道)我想将 alpha 值赋予 ccsprite 的纯色纹理。并利用 ccsprite 单元作为 pan.在屏幕上绘制。
我如何在编程中做到这一点?
非常感谢!
我也必须为我的项目这样做。我想出了这个主意。(在 cocos2d-x 中)
将禁用 rgb 但启用 alpha 的“alpha sprite”(通过 glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_TRUE))渲染到 CCRenderTexture。
使用禁用但启用 rgb 渲染您的实际精灵(通过 glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_FALSE))
现在你有来自实际精灵的rgb和来自'alpha sprite'的rgb,然后你将渲染纹理的精灵的alpha混合属性设置为{GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA}。
现在您可以添加渲染纹理并将其绘制到场景中。
我已经尝试过了,这对我的项目有用。希望这对你也有用。
sprite.opacity = 100;
opacity range is 0-255. You can't change alpha of a texture and all sprites using the texture at once, unless you write a custom shader.