如何着色使用imageFromFile创建的SKTexture?

时间:2015-07-20 17:54:15

标签: swift sprite-kit sktexture

我创建了几种形状的png图像,例如六边形和星形,它们都是白色。

我想对这些SKSpriteNodes或SKTextures进行着色,这样我就可以分配任何颜色,而不是为我需要的每种颜色创建形状图像,并将这些纹理加载到内存中。我需要图像是高分辨率的,所以有几个图像并将它们加载到内存中不是一个好的选择,因为我从XCode收到内存警告。在需要时将它们加载到内存中也不起作用,因为它们会导致我的游戏滞后约0.25秒。

那么,有什么方法可以创建1个SKTexture并在我需要它时更改颜色的SKSpriteNode的图像纹理?

1 个答案:

答案 0 :(得分:0)

您可以像这样更改白色纹理的颜色(假设您使用纯白色纹理):

//Colorize to red

 let yourNode = SKSpriteNode(imageNamed: "textureName")
 yourNode.colorBlendFactor = 1
 yourNode.color = UIColor.redColor()

关于colorBlendFactor

  

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

More about this topic on StackOverflow

希望这有帮助。