如何检查具有密钥的特定SKAction是否正在运行

时间:2017-04-20 06:13:21

标签: swift3 sprite-kit skaction

我有一个触发运行的SKAction:"运行"。 我还有其他关键操作。在我的情况下,我会发现它很方便,如果我可以检查是否例如SKAction与键"运行"目前正在运行。

类似的东西:

if (mySpriteNode.runsAction("running")) {
    // do some magic code
}

现在我发现我可以查看是否有一般应用于某个节点的操作,例如

mySpriteNode.hasActions

有人有想法吗?

2 个答案:

答案 0 :(得分:7)

我发现了这种方法。这可能是你需要的:

func action(forKey key: String) -> SKAction?
  

如果存在与键匹配的操作,则返回操作对象。否则,返回nil。

您可以像这样使用它:

if let _ = mySpriteNode.action(forKey: "someKey") {
    // action is running
} else {
    // action is not running
}

答案 1 :(得分:0)

if myspritenode.action(forkey: "some key") != nil {
 //runs if action is active
}

此解决方案对我有用。