在watchOS 3中使用SpriteKit時,如何處理觸摸事件?我正在從iOS移植SpriteKit遊戲,下面的代碼不起作用。或者你必須以某種方式控制WKInterfaceController?watchOS 3中的TouchEvents SpriteKit?
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {}
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {}
override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent?) {}
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {}
你可以做我修改簽名的方法,或者你可以保留它並添加一個保護語句:@IBAction func panRecognized(_ sender:AnyObject){{0} {0} {0}保護讓panGesture = sender as? WKPanGestureRecognizer其他{ return } –
確實如此,但文檔(https://developer.apple.com/reference/watchkit/wkgesturerecognizer)允許這兩種類型的簽名。守衛聲明應該是必要的。 IBAction func handleGesture()/ IBAction func handleGesture(gestureRecognizer:WKGestureRecognizer) – LMVogel
識別器增加觸摸延遲是非常煩人的。取決於遊戲的類型 – matthiaswitt