im以序列运行3个skactions,第一两个运行良好,但是fadeinwithDuration不会在节点中褪色,当视图加载时,节点立即添加。我是否必须将节点的初始alpha通道设置为0?有人可以帮助解决问题吗?
- (void)setUpButtonStart
{
SKSpriteNode *buttonStart = [SKSpriteNode spriteNodeWithImageNamed:@"start"];
buttonStart.name = @"buttonStart";
buttonStart.position = CGPointMake(900,50);
[self addChild:buttonStart];
SKAction *wait = [SKAction waitForDuration:2.5];
SKAction *readIntro = [SKAction playSoundFileNamed:@"intro.mp3" waitForCompletion:NO];
SKAction *fadeIn = [SKAction fadeInWithDuration:1.0];
SKAction *sequence = [SKAction sequence:@[wait, readIntro, fadeIn]];
[buttonStart runAction: sequence];
}
如文档中所述, fadeInWithDuration
操作将节点的 alpha
属性从其当前值更改为1.0(100%不透明度)。
这就是为什么您没有看到淡入淡出的原因 - 您的操作实际上不会做任何事情,因为节点的默认alpha值为1.0,它将从100%增加到100%。
正如Steffen在他的评论中所建议的那样,您需要做的就是在执行操作之前设置buttonStart.alpha = 0.0
。