我正在Swift上開發一款小遊戲,並且我一直在努力。在這個自定義類中,我使用了touchesBegan
方法,並且在此方法中我想創建一個SkNode。這是我的代碼:在哪裏添加孩子?
class TouchableSpriteNode : SKSpriteNode
{
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
self.removeFromParent()
let delay = Int(arc4random_uniform(UInt32(200)))*Int(NSEC_PER_SEC)/100
let time = dispatch_time(DISPATCH_TIME_NOW, Int64(delay))
dispatch_after(time, dispatch_get_main_queue()) {
let random2 = arc4random_uniform(UInt32(self.frame.size.width))
let random3 = arc4random_uniform(UInt32(self.frame.size.height))
div.position = CGPoint(x: Int(random2), y: Int(random3))
self.addChild(div)
}
}
}
的問題是,我不能讓它顯示在屏幕上,因爲我得到它說,你不能說孩子,因爲這是他自己的父(這是複雜的錯誤),我想知道的事情是我怎麼能說增加孩子到現場,而不是這個skspritenode? 任何幫助表示讚賞!謝謝
你可以發佈「複雜」的錯誤? :) –
錯誤並不複雜,爲什麼這個類是SKSpriteNode的父類是複雜的.. –
你究竟在哪裏聲明'div'?如果你想添加'div'的多個實例,聲明應該在你的函數中。否則,它會嘗試重新添加已添加的節點(而不是添加節點的新實例),從而導致錯誤。這是怎麼回事? –