如何检查 SKAction
是否已完成其动画?
我需要检查我的操作是否已经完成或仍在执行它的操作。之后我想创建一个 bool 值以避免在主要操作期间执行多个操作。
SKAction *lionJumpActionComplete = [lionNode actionForKey:@"lionIsJumping"];
lionJumpActionComplete = [SKAction sequence: @[lionJumpActionUp, lionJumpActionFly, lionJumpActionDown, lionJumpActionPause]];
if (lionJumpActionComplete) {
return;
}
[lionNode runAction:lionJumpActionComplete withKey:@"lionIsJumping"];
最佳答案
如果这是在您的节点上运行的唯一操作,您可以使用以下方法检查:
if (!lionNode.hasActions) { // check if no actions are running on this node
// action code here
}
或者,您可以在完成 block 中设置 bool 值,该 block 在操作运行并完成后调用:
[lionNode runAction:[SKAction sequence: @[lionJumpActionUp, lionJumpActionFly, lionJumpActionDown, lionJumpActionPause]] completion:^{
BOOL isActionCompleted = YES;
}];
关于ios - 检查 SKAction 是否正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21886865/