【问题标题】:How do you record the second touch in UITouchUITouch如何记录第二次触摸
【发布时间】:2016-07-18 13:55:37
【问题描述】:

我是 Swift 新手,我正在尝试制作一个国际象棋游戏。

所以我希望代码记录第一次触摸的位置,然后记录第二次触摸的位置,但我不确定如何获得第二次触摸。我认为有一个功能,但我无法在网上找到它。我在SKScene 下的touchesEnded 方法中执行此操作。

【问题讨论】:

  • 如果您使用 UIButtons/UIVIews 制作棋盘,则实现国际象棋游戏 UI 很容易。很容易识别他们的触摸。

标签: ios swift uitouch


【解决方案1】:

您可以在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,并像我上面提到的那样执行位置附加。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多