【问题标题】:Change colour of non transparent SKSpriteNode (Swift)更改非透明 SKSpriteNode (Swift) 的颜色
【发布时间】:2015-09-18 17:38:33
【问题描述】:

我有一个 SKSpriteNode,它是一个图像。图像是我制作的红色形状。它是图像而不是形状节点的原因是因为它是一个奇怪的形状,需要将其制作为图像。此图像具有透明背景。

有什么方法可以改变 SKSpriteNode 不透明部分的颜色?

谢谢!

【问题讨论】:

  • 您只需要使用另一个图像,或者自己在代码中重新创建形状。除了更改不透明度的 alpha 我相信之外,没有任何方法可以更改图像的颜色。
  • 没有办法改变这样的图像。您可能需要使用图像编辑软件创建第二张图像并将节点更改为该图像。
  • @manwholikesspritekit 你能上传那张图片,以及代表期望结果的图片吗?

标签: swift sprite-kit sprite


【解决方案1】:

无论如何,您应该可以使用colorcolorBlendFactor 属性来为纹理着色:

sprite.colorBlendFactor = 1 //default is 0.0

sprite.color = SKColor.greenColor()

来自文档:

该值必须是介于 0.0 和 1.0 之间的数字,包括 0.0 和 1.0。默认 值 (0.0) 表示颜色属性被忽略并且 纹理的值应该不加修改地使用。对于大于 0.0,纹理在绘制到场景之前与颜色混合。

还有一个 colorizeWithColor 动作,可以将颜色和 colorBlendFactor 属性设置为新值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 2011-11-29
    • 2018-11-15
    • 2014-02-18
    • 1970-01-01
    • 1970-01-01
    • 2015-01-07
    相关资源
    最近更新 更多