2015-09-18 138 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屬性動畫到他們的新值。