我有这样的代码在SKScene:“存在”SpriteKit childNodeWithName无法找到现有节点
override func touchesBegan(touches: NSSet!, withEvent event: UIEvent!) {
var touch: AnyObject = touches.anyObject()
var point = getPoint(touch.locationInNode(self))
var name = NSStringFromCGPoint(point)
for children in self.children {
if (children as SKSpriteNode).name == name {
println("exist!")
}
}
var tempNode = self.childNodeWithName(name)
}
我见在日志中,所以在儿童阵列中存在具有此名称的节点,但是tempNode是无。 self.childNodeWithName("//" + name)
电话也会返回无。
childNodeWithName总是致命错误而失败:意外发现零而展开的可选值 – 2016-03-29 13:48:22
这可能是由于一些事情。名称字符串中可能存在拼写错误,或者您要查找的节点可能尚未初始化,或者在调用childNodeWithName时可能已被删除。可选的链接是防止这种情况的好方法。试试这个:'if let mySprite = childNodeWithName(“mySprite”){ //对节点 做些什么}' – 2016-03-30 02:39:22