2017-07-10 205 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和白色精靈節點添加疊加層。

基本上是: