检查节点是否为 SKShapeNodes
Checking if Nodes are SKShapeNodes
在我的简单游戏中,我需要在下一步发生之前移除所有 SKShapeNodes。这是我的代码:
for child in self.children(){
if(child==SKShapeNode(){
child.removeFromParent()
}
}
这不起作用,因为 Xcode 不知道如何处理 child 的 class。 Xcode 要我添加
as! NSObject
在 child 到 "force downcast" 之后。这也行不通。我认为这是因为现在 child 将始终是 NSObject,而不是 SKShapeNode。
我该如何解决这个问题?我确信这很简单,但我似乎无法自己解决这个问题。
您可以按如下方式进行:
for child in parent.children //in you case, self is the parent
{
if let child = child as? SKShapeNode
{
child.removeFromParent()
}
}
在我的简单游戏中,我需要在下一步发生之前移除所有 SKShapeNodes。这是我的代码:
for child in self.children(){
if(child==SKShapeNode(){
child.removeFromParent()
}
}
这不起作用,因为 Xcode 不知道如何处理 child 的 class。 Xcode 要我添加
as! NSObject
在 child 到 "force downcast" 之后。这也行不通。我认为这是因为现在 child 将始终是 NSObject,而不是 SKShapeNode。
我该如何解决这个问题?我确信这很简单,但我似乎无法自己解决这个问题。
您可以按如下方式进行:
for child in parent.children //in you case, self is the parent
{
if let child = child as? SKShapeNode
{
child.removeFromParent()
}
}