2017-07-10 168 views
0

我试图将SKSPriteNode的颜色从绿色更改为白色。它的纹理原本是绿色的。但是,在某些情况下,我希望它是完全白色的。我试过这样做:将颜色与纹理颜色不同

func loadBackButton() { 
    backButton = SKSpriteNode(imageNamed: "BackButton") 
    backButton.color = .white 
    backButton.size = CGSize(width: self.size.width * CGFloat(0.125), height: self.size.width * CGFloat(0.125)) 
    backButton.position = CGPoint(x: self.size.width * CGFloat(-0.426), y: self.size.height * CGFloat(0.449)) 
    self.addChild(backButton) 
} 

这并没有改变任何东西。所以我做了一些研究,并尝试这样做:

func loadBackButton() { 
    backButton = SKSpriteNode(imageNamed: "BackButton") 
    backButton.colorBlendFactor = 1 
    backButton.color = .white 
    backButton.size = CGSize(width: self.size.width * CGFloat(0.125), height: self.size.width * CGFloat(0.125)) 
    backButton.position = CGPoint(x: self.size.width * CGFloat(-0.426), y: self.size.height * CGFloat(0.449)) 
    self.addChild(backButton) 
} 

但是,这也没有改变任何东西。有谁知道为什么它没有改变任何东西?

+1

不能着色,以白色。颜色。最简单的解决方案是在将其着色为绿色后,使用photoshop创建纹理白色。 –

+0

尝试:backButton.texture =无 –

+0

@ChristianCerri,这将关​​闭整个纹理只留下一个白色方块 – Knight0fDragon

回答

1

如果你需要它变白,你总是可以使用SKCropNode和白色精灵节点添加叠加层。

基本上是: