【问题标题】:Set color overlay on CCSprite - Spritebuilder/Cocos2d在 CCSprite 上设置颜色叠加 - Spritebuilder/Cocos2d
【发布时间】:2014-11-04 15:31:32
【问题描述】:

我正在尝试通过代码在一些 CCSprite 上设置颜色叠加层,就像使用 Spritebuilder 所做的那样 - 它在图像上放置了颜色叠加层。但是我能找到的只是

sprite.color = CCRed;

当我这样做时,我收到以下错误:

Assigning to 'CCColor' *from incompatible type 'const ccColor3B' aka ('const struct _ccColor3b')

如何在 CCSprite 上设置颜色叠加?

【问题讨论】:

  • “颜色叠加”是什么意思?您是要在给定区域上添加彩色矩形(使用 CCColorNode)还是要仅对精灵的实际像素而不是透明区域进行着色(着色)?在这种情况下,请遵循 Yves 的回答。

标签: ios cocos2d-iphone spritebuilder


【解决方案1】:

您正在尝试将常量结构分配给对象。而是尝试:

    sprite.color = [CCColor colorWithCcColor3b:ccRED];

    sprite.color = [CCColor redColor];

这将摆脱特定的错误。但是,我不确定它会“复制”在 SpriteBuillder 中实现的渲染。有很多方法可以给节点着色。

【讨论】:

  • 完美运行。谢谢
【解决方案2】:

我不使用 SpriteBuilder(或者还没有)所以我不能告诉你它是如何实现的。有 CCActionTintToapi doc 但如果失败了,你可以用很多不同的方法来做,包括新的 v3.2 着色器。 CCColor here 的 API 文档提供了许多选择颜色的方法。红色为 + (CCColor *)redColor

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    相关资源
    最近更新 更多