スワイプジェスチャー認識機能を持つSKSceneがありますが、スワイプジェスチャーはほとんど認識されず、理由もわかりません。ここに私のコードは次のとおりです。スワイプジェスチャー認識機能がSKSceneで断続的に動作する
class MyScene: SKScene
{
weak var member: MySceneDelegate?
var selectedNode = SKSpriteNode()
var backgroundSprite: MovingBackground!
var myEmitter = SKEmitterNode()
var goingUp: Bool = true
var work: Int = 0
var i = 0.0
var decal: SKSpriteNode!
var startYPosition = 690 //460 is halfway
var myTimer: Timer!
var yStart: CGFloat = 0.0
var count = 0
var currentVal = 1
var startTime = Date()
var xAxisLabelDisplayIncrement = 60.0
var interval = 5.0
var intervalCounter = 0.0
var swipeLeft = UISwipeGestureRecognizer(target: self, action: #selector(MyScene.swipe(_:)))
var swipeRight = UISwipeGestureRecognizer(target: self, action: #selector(MyScene.swipe(_:)))
override func didMove(to view: SKView)
{
//self.view?.isUserInteractionEnabled = true
let gestureRecognizer = UIPanGestureRecognizer(target: self, action: #selector(MyScene.handlePanFrom(_:)))
self.view!.addGestureRecognizer(gestureRecognizer)
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(MyScene.handleTap(_:)))
self.view!.addGestureRecognizer(tapGestureRecognizer)
swipeRight.addTarget(self, action: #selector(MyScene.swipe(_:)))
swipeRight.direction = UISwipeGestureRecognizerDirection.right
swipeRight.numberOfTouchesRequired = 1
self.view!.addGestureRecognizer(swipeRight)
swipeLeft.addTarget(self, action: #selector(MyScene.swipe(_:)))
swipeLeft.direction = UISwipeGestureRecognizerDirection.left
swipeLeft.numberOfTouchesRequired = 1
self.view!.addGestureRecognizer(swipeLeft)
}
func swipe(_ sender: UISwipeGestureRecognizer)
{
print("swiped")
member?.swipe(direction: sender.direction)
}
}
明らかにいくつかのコードがポイントにこのポストを維持するために省略されていると理解しやすいです。興味深いのは、私はスワイプ関数を時々呼び出すようになっていますが、たいていの場合、スワイプされた(swiped)かメンバーの呼び出しをしません。あなたが私に与えることができるどんな助けも素晴らしいでしょう。この問題を検討していただきありがとうございます。敬具
、
ショーン
私が知る限り、私がこの問題を抱えていた理由は、パンニングが垂直でスワイプが水平であったにもかかわらず、同じ視点でパンジェスチャ認識器を持っていたからです。スワイプとタップに反応するボタンが下部にあるようにデザインを変更することで問題を解決しました。それが私たちの問題を解決しました。入力いただきありがとうございます。 –