例如,我在一个名为" generateNode"的函数中生成了一个SKSpriteNode。每一秒,我想在touchesBegin函数中调用它来检测用户何时触摸它,如果用户触摸它,则删除该节点。
我试图在这个函数中调用节点,但这是不可能的,Xcode在这个函数中没有检测到它。
怎么做?
谢谢你。
答案 0 :(得分:0)
您可以通过以下方式删除特定节点。
首先在添加它的地方设置node.name
属性。
func generateNode() {
// your node creation code
node.name = "generatedNode"
//add your node.
}
然后在touchesBegan
中,如果节点的名称是您设置的名称,则可以删除触摸的节点。
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
let touch = touches.anyObject() as UITouch?
if let location = touch?.locationInNode(self)
{
for node in self.nodesAtPoint(location)
{
if node.name == "generatedNode"
{
node.removeFromParent()
}
}
}
}