2014-04-22 9 views
2

점수에 의해 SKSpriteNode의 색상을 변경하고 싶습니다. 색상이 부드럽게 바뀌므로 SKAction을 사용하려고했습니다. 그러나 색상은 변경되지 않습니다. 0SKAction의 색상이 바뀌 었습니까?

if (score > 20) { 

    SKAction *changeColor = [SKAction colorizeWithColor:self.color colorBlendFactor:0 duration:3]; 

    [self.sprite runAction:changeColor]; 


    return; 
} 
+0

그리고 무슨 일이 코드를 잘못? 착색이 잘되고 있습니까? 스무딩 애니메이션이 부드럽지 않습니까? 'if-statement' 태그가 붙어있어서'if'를 거치지 않습니까? – Larme

+0

if 문을 통과하지만 색상은 변경되지 않습니다. 코드가 맞다는 것을 의미합니까? – user3138007

+0

잘 모르겠지만 색상이 변하지 않는다고 명시 적으로 말하지 않았습니다. 무엇이 잘못되고 있는지 직접 지적함으로써 도움을 줄 수있는 사람들을 도우십시오. – Larme

답변

7
[SKAction colorizeWithColor:self.color colorBlendFactor:0 duration:3]; 

colorBlendFactor 색상 값을 각 화소에인가 색의 실제 량을 계산하는데 colorBlendFactor와 곱, 즉 색이 영향을 취하지 않는 것을 의미한다. colorBlendFactor을 1로 변경하면 스프라이트가 색상으로 표시됩니다.