xcode – SKSpriteNode不会使用序列精灵套件中的SKAction来淡入淡入淡出

前端之家收集整理的这篇文章主要介绍了xcode – SKSpriteNode不会使用序列精灵套件中的SKAction来淡入淡入淡出前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我按顺序运行3个SKActions,前两个运行正常,但fadeInWithDuration不会在节点中淡入,当视图加载时,节点会立即添加.我是否必须将节点的初始Alpha通道设置为0?有人可以解决问题吗?
  1. - (void)setUpButtonStart
  2. {
  3. SKSpriteNode *buttonStart = [SKSpriteNode spriteNodeWithImageNamed:@"start"];
  4. buttonStart.name = @"buttonStart";
  5. buttonStart.position = CGPointMake(900,50);
  6. [self addChild:buttonStart];
  7.  
  8. SKAction *wait = [SKAction waitForDuration:2.5];
  9. SKAction *readIntro = [SKAction playSoundFileNamed:@"intro.mp3" waitForCompletion:NO];
  10. SKAction *fadeIn = [SKAction fadeInWithDuration:1.0];
  11.  
  12. SKAction *sequence = [SKAction sequence:@[wait,readIntro,fadeIn]];
  13.  
  14. [buttonStart runAction: sequence];
  15. }

解决方法

documentation中所述,fadeInWithDuration操作将节点的alpha属性从其当前值更改为1.0(100%不透明度).

这就是为什么你没有看到淡入 – 你的动作实际上不会做任何事情,因为节点的默认alpha值是1.0,它将从100%变为100%.

正如Steffen在他的评论中建议的那样,你需要做的就是在执行动作之前设置buttonStart.alpha = 0.0.

猜你在找的iOS相关文章