xcodeのSpriteKitを使用して、音ゲーでよくある同時フリックを実装しようとしていますがうまく動きません。
Apple公式のイベント処理ガイドなどを調べてみるとshouldRecognizeSimultaneouslyWithGestureRecognizerをtrueにすることで実装できると書かれているので、とりあえず同時スワイプだけでも動作するか確認しようと思い以下のようにコードを記述してみましたが、実機で左右同時にスワイプしても"Right"も"Left"もデバッグエリアに表示されません。(どちらか1つずつなら動作します。)
回答が複雑になるようでしたら何かヒントだけでも構いませんので、ご教授頂ければと存じます。
質問に不備があれば書き直し致しますのでご指摘頂ければ幸いです。
よろしくお願いいたします。
Swift2
1class GameScene: SKScene,UIGestureRecognizerDelegate { 2 3 let swipeRightRec = UISwipeGestureRecognizer() 4 let swipeLeftRec = UISwipeGestureRecognizer() 5 let swipeUpRec = UISwipeGestureRecognizer() 6 let swipeDownRec = UISwipeGestureRecognizer() 7 8 override func didMoveToView(view: SKView) { 9 10 swipeRightRec.addTarget(self, action: "swipedRight:") 11 swipeRightRec.delegate = self 12 swipeRightRec.direction = .Right 13 self.view!.addGestureRecognizer(swipeRightRec) 14 15 swipeLeftRec.addTarget(self, action: "swipedLeft:") 16 swipeLeftRec.delegate = self 17 swipeLeftRec.direction = .Left 18 self.view!.addGestureRecognizer(swipeLeftRec) 19 } 20 21 func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool { 22 return true 23 } 24 25 func swipedRight(recognizer:UISwipeGestureRecognizer) { 26 print("Right") 27 } 28 29 func swipedLeft(recognizer:UISwipeGestureRecognizer) { 30 print("Left") 31 } 32} 33
あなたの回答
tips
プレビュー