2015-07-20 78 views
1

我已經創建了幾個形狀,如六邊形和星星的png圖像,它們都是白色的。如何爲使用imageFromFile創建的SKTexture着色?

我想上色這些SKSpriteNodes或SKTextures,這樣我可以指定任何顏色,而不是針對每一種顏色,我需要創建形狀的圖像和加載這些貼圖到內存中。我需要高分辨率的圖像,因此我有一些圖像並將它們加載到內存中並不是一個好的選擇,因爲我收到來自XCode的內存警告。根據需要將它們加載到內存中也不起作用,因爲它們導致我的遊戲滯後大約0.25秒。

那麼,有沒有什麼辦法可以創建1 SKTexture和着色的SKSpriteNode的圖像紋理每當我需要它來改變顏色?

回答

0

您可以更改白色質地像這樣的顏色(假設你使用的是純白色紋理):

//Colorize to red 

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

關於colorBlendFactor

的值必須在0.0和1.0之間的數字, 包括的。默認值 值(0.0)表示顏色屬性將被忽略,並且紋理的值應該未經修改使用。對於大於 0.0的值,紋理會在繪製到場景之前與顏色混合。

More about this topic on StackOverflow

希望這會有所幫助。

+0

謝謝!這很簡單,但非常有幫助。我嘗試了紋理屬性的多種變體,並且無法正確使用它。這將在我的應用程序中爲我節省大量的工作和內存。再次感謝! –