Tag: 计时

iOS SpriteKit SKAction完成调用不工作/创build奇怪的结果

我试图让一个SKNode移动到屏幕上的命令。 我build立了以下SKAction链,以便1)节点向上和向外移动,然后2)节点向下移动到起始位置,然后3)开始移动。 我用下面的代码来尝试和实现这个: SKAction *moveUp = [SKAction moveTo: shipIntroSpot1 duration:3.0]; SKAction *moveDown = [SKAction moveTo:shipSpot1 duration:ship1MovementSpeed]; [self enumerateChildNodesWithName:@"ship1" usingBlock:^(SKNode *node, BOOL *stop) { NSLog(@"RUNNING MOVE UP"); [node runAction: moveUp]; [node runAction:moveUp completion:^{ NSLog(@"RUNNING MOVE DOWN"); [node setHidden: NO]; [node runAction: moveDown]; }]; [node runAction:moveDown completion:^{ NSLog(@"STARTING MOVEMENT"); }]; 但是,SKActions似乎并没有按照正确的顺序开火。 我使用的代码,一旦一步完成,下一步将开始。 然而,在下一个SKAction开始工作之前,SKAction似乎没有足够快地移动节点。 我的印象是,使用完成调用将意味着下一个行动不会开始,直到前一个完成? 这似乎并不是这种情况。 另外,如果我为步骤1(MOVING UP)留下了足够长的时间,它将跳过步骤2(MOVING […]