我有這樣的代碼在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