У меня есть SKScene, в котором есть несколько распознавателей жестов, но жестом салфетки редко признается, и я не знаю почему. Вот мой код:Sweep Gesture Recognizer работает с перерывами в 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» или call member? .swipe. Любая помощь, которую вы могли бы мне дать, была бы фантастической. Спасибо за ваше рассмотрение этого вопроса.
С уважением,
Шона
Насколько я могу судить, причина, по которой я столкнулся с этой проблемой, состояла в том, что у меня также был распознаватель жесты в одном и том же представлении, хотя панорамирование было вертикальным, а прокрутка была горизонтальной. Мы исправили проблему, изменив дизайн так, чтобы в нижней части были кнопки, которые отвечали на удары и краны. Это решило нашу проблему. Благодарим вас за предложение. –