我是Swift的新手,我正在尝试下棋游戏。
因此,我希望代码记录第一次触摸的位置,然后记录第二次触摸的位置,但是我不确定如何获得第二次触摸。我认为有一个功能,但是我无法在线找到它。我正在touchesEnded
下的SKScene
方法中执行此操作。
最佳答案
您可以跟踪触摸位置数组,并在touchesEnded
方法中每次触摸后将位置附加到数组。因此,您的方法可能如下所示:
func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {
guard self.touchLocations.count < 2 else {
return
}
if let myTouch = touches.first {
self.touchLocations.append(myTouch.locationInWindow(myTouch.window))
}
}
第一次触摸会通过,您将附加第一个位置,然后第二次触摸将在您附加该位置。只要记得在转弯完成后清除阵列即可。
您也可以使用
UITapGestureRecognizer
将其添加到场景中。然后,您只需获取传递到选择器中的手势的locationInView
并像上面提到的那样进行位置附加。