如何使用图像纹理设置 SKSpriteNode 的颜色?

1 ios sprite-kit

我正在使用 SKSpriteNode。我的目标是将图像纹理应用于 SKSpriteNode 并使用 spriteNode.color 属性更改图像的颜色。

SKTexture *texture = [SKTexture textureWithImageNamed:instrument.buttonImageFile];  
self.textureNode = [SKSpriteNode spriteNodeWithTexture:texture];  
self.textureNode.color = [UIColor redColor];  
self.textureNode.colorBlendFactor = 1.0f;
Run Code Online (Sandbox Code Playgroud)

目前只有图像在视图中,图像没有着色。图像在这里:image。我查看了很多材料,但似乎找到了有关更改 colorBlendFactor(这让我没有运气)或通过 SKActions 进行着色的答案,这同样不适用。

Jie*_* Hu 5

你的代码完全适用于我。我使用了spritekit 宇宙飞船,它奏效了。

SKSpriteNode *sprite;

SKTexture *texture = [SKTexture textureWithImageNamed:@"Spaceship"];
sprite = [SKSpriteNode spriteNodeWithTexture:texture];
sprite.color = [UIColor redColor];
sprite.colorBlendFactor = 1.0f;
Run Code Online (Sandbox Code Playgroud)

我的想法是,有时对于一些即使有颜色混合的图像,视觉差异也不那么明显。因此,我谦虚地建议,如果允许,请将您的图像全部设为白色,然后查看颜色混合是否有所不同。