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

我按顺序运行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];
}

解决方法

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

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

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

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...