2014-03-28 74 views
3

嘗試更改我的SKEmitterNode發出的粒子的顏色我有一個應用程序,用戶可以在其中編輯發射器節點並截取照片庫。在他們可以改變諸如出生率,角度等內容的環境中。我允許他們改變發射器節點的顏色。試圖從代碼

我使用:

node.particleColor = [SKColor redColor]; 

,並沒有改變粒子的顏色。

然而,當我加入NSLog語句,並要求它什麼node.particleColor是它返回1 0 0 1,這正是我所期待的,但絕不節點改變顏色。

任何想法,我可以做些什麼來改變它的顏色?

+0

請有人向我解釋這與'xcode IDE'有什麼關係??????? – Popeye

+0

對此的答案可以在這裏找到:http://stackoverflow.com/a/19818606/2043580 – ZeMoon

+0

可能重複[指定隨機粒子開始顏色沒有動畫變化?](http://stackoverflow.com/questions/ 19813252 /指定隨機粒子開始顏色沒有動畫變化) – ZeMoon

回答

0

你必須設置colorBlendFactor以及與顆粒質感融爲一體該組色彩:

node.colorBlendFactor = 1.0; 
7

嘿,我想我只是想出了這個問題。不知道你的代碼是不同的。

對我來說,我有一個SKEmitterNode創建這樣

SKEmitterNode *explosion = [NSKeyedUnarchiver 
             unarchiveObjectWithFile:[[NSBundle mainBundle] 
             pathForResource:@"Explosion" ofType:@"sks"]]; 

然後改變它的顏色我這樣做

explosion.particleColor = [SKColor redColor]; 

然後在我的混合因子設置爲1

explosion.particleColorBlendFactor = 1.0; 

最後我把顏色序列變爲零(這是棘手的部分)

explosion.particleColorSequence = nil; 

通過將顏色序列轉爲零,它不再忽略顆粒顏色。不知道爲什麼它最初不會像引用說的那樣設置爲零,但這是爲我修復的。希望這可以幫助!

+0

對我來說它沒有工作。 – Ramis

+0

你介意發佈你的代碼,我會嘗試通過它嗎? –

+0

問題出在我的代碼中。我沒有將particleColorSequence設置爲零。 – Ramis