我希望我的英雄节点在左侧长按时向左移动,而在右侧长按,就像在这个游戏https://itunes.apple.com/us/app/run-bird-run/id951346475?mt=8中一样。我对接下来要添加什么感到遗憾。
func beginTouchRecognizer(){
let longPress = UILongPressGestureRecognizer(target: self,
action: Selector("longPressTouch:"))
longPress.minimumPressDuration = 1.0
self.view?.addGestureRecognizer(longPress)
}
答案 0 :(得分:0)
在longPressTouch:
方法中,您可以找到触摸的位置,并查看它是否位于用户正在点按的视图的特定区域内。
例如,您可以执行以下操作:
let WidthOfTapArea: CGFloat = 100
func longPressTouch(recognizer: UILongPressGestureRecognizer) {
let location = recognizer.locationInView(self.view)
if location.x < WidthOfTapArea {
// Handle a tap on the left side of the view
} else if location.x > (self.view.frame.width - WidthOfTapArea) {
// Handle a tap on the right side of the view
}
}
未经测试的代码,但它应该让你去。