2015-09-18 106 views
1

我有一个SKSpriteNode这是一个图像。图像是我制作的红色形状。它是一个图像而不是一个形状节点的原因是因为它是一个奇怪的形状,这需要作为一个图像。该图像具有透明背景。改变颜色的透明SKSpriteNode(Swift)

有没有办法改变SKSpriteNode的非透明部分的颜色?

谢谢!

+0

您只需使用其他图像,或者自己在代码中重新创建图形。除了改变我认为不透明度的alpha值之外,没有任何方法可以改变图像的颜色。 –

+0

没有办法改变这样的图像。您可能需要使用图像编辑软件来创建第二张图像并将节点更改为该图像。 – TheCodeComposer

+0

@manwholikesspritekit您可以上传该图片以及代表所需结果的图片吗? – Whirlwind

回答

0

不管怎么说,你应该能够使用colorcolorBlendFactor性质上色质地:

sprite.colorBlendFactor = 1 //default is 0.0 

sprite.color = SKColor.greenColor() 

从文档:

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

此外,还有一个colorizeWithColor动作,可以动画颜色和colorBlendFactor属性动画到他们的新值。