我是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并像上面提到的那样进行位置附加。

08-17 09:32
查看更多