Изменение цвета SKAction?

Я хочу изменить цвет SKSpriteNode по счету. Его цвет должен плавно меняться, поэтому я попытался использовать SKAction. Но цвет не меняется.

if (score > 20) {

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

    [self.sprite runAction:changeColor];


    return;
}

person user3138007    schedule 22.04.2014    source источник
comment
А что не так с вашим кодом? Окраска работает? Анимация сглаживания не плавная? Поскольку он помечен if-statement, он не проходит через ваш if?   -  person Larme    schedule 23.04.2014
comment
он проходит через оператор if, но не меняет цвет. значит код правильный?   -  person user3138007    schedule 23.04.2014
comment
Я не знаю, но вы прямо не сказали, что цвет не меняется. Попытайтесь помочь тем, кто может помочь вам, прямо указав на то, что идет не так.   -  person Larme    schedule 23.04.2014


Ответы (1)


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

Значение colorBlendFactor, равное 0, означает, что цвет не имеет значения, т. е. значения цвета умножаются на colorBlendFactor для вычисления фактического количества цвета, применяемого к каждому пикселю. Измените colorBlendFactor на 1, и вы увидите, что спрайт раскрашивается.

person LearnCocos2D    schedule 22.04.2014