SKAction改变SKShapeNode的颜色

7

我正在使用SKAction中的repeatActionForever方法来改变SKShapeNode的颜色。以下是我的代码:

SKShapeNode *ship = [SKShapeNode node];
[ship setPath:CGPathCreateWithRoundedRect(CGRectMake(-15, -15, 40, 17), 6.25, 6.25, nil)];
ship.fillColor = [SKColor redColor];
ship.glowWidth = 3;

[ship runAction:[SKAction repeatActionForever:[SKAction sequence:@[
[SKAction colorizeWithColor:[SKColor blueColor] colorBlendFactor:1.0 duration:0.5],
[SKAction waitForDuration:0.3],[SKAction colorizeWithColorBlendFactor:1.0 duration:0.5],
[SKAction colorizeWithColor:[SKColor redColor] colorBlendFactor:1.0 duration:0.5],
[SKAction waitForDuration:0.3],
[SKAction colorizeWithColorBlendFactor:1.0 duration:0.5],
[SKAction waitForDuration:0.3]]]]];
return ship; //because it's a method

我认为代码没问题,但是船只没有改变颜色。我做错了什么?谢谢。

1个回答

6
SKSpriteNode不同,SKShapeNode没有color属性。因此,您的colorizeWithColor:操作无法起作用。
请参考此文章了解如何动画显示fillColorstrokeColorSKShapeNode - Animate color change

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接