swift - 如何在 Swift 中为 SKScene 中的手势编写代码?

标签 swift

我正在学习使用 Swift 开发 iOS 应用程序,目前的任务是为不同的滑动手势进行编码。我在文档中查找了一些内容,最后写了这个:

class GameScene: SKScene {

override func didMove(to view: SKView) {

    let down = SKAction.moveBy(x: 0, y: 20, duration: 1)

    let sprite = SKSpriteNode(imageNamed: "logo")
    sprite.position = CGPoint(x: 0, y: 0)

    func swipedDown(gesture:UIGestureRecognizer) {
        sprite.run(down)
    }

    let swipeDown = UISwipeGestureRecognizer(target: self, action: Selector(("swipedDown:")))
    swipeDown.direction = .down
    view.addGestureRecognizer(swipeDown)
}

}

但是,在生成的应用程序中向下滑动时,我收到“无法识别的选择器已发送到实例”错误。我尝试了几种不同的方法来修复它,但没有任何效果。

我正在使用 Xcode 8 GM 和 Swift 3。

最佳答案

您需要将代码更新为以下内容才能使其与 Swift 3 兼容。

let swipeDown = UISwipeGestureRecognizer(target: self, action: #selector(swipedDown(_:)))
swipeDown.direction = .down
view.addGestureRecognizer(swipeDown)

func swipedDown(_ sender: UISwipeGestureRecognizer){
     print("Swiped down")
}

关于swift - 如何在 Swift 中为 SKScene 中的手势编写代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39423501/

相关文章:

ios - 旋转 UIBarButtonItem Swift

ios - 在 UIView 中从 UIViewController 快速调用组件

ios - 文本在容器中无法正确显示(swift 3.0)

ios - UINavigationController 和侧面菜单

ios - 以编程方式锁定和解锁 iPhone(未越狱)屏幕?

ios - 错误 "Missing argument for parameter ' 编码器在通话中”

ios - 如何在默认 iOS "call"弹出窗口中获取调用或取消操作的回调或通知?

ios - 如何最大限度地减少(内存泄漏)ARKit场景中的应用程序内存点击后退按钮?

ios - 多个 ViewController 调用的函数的 NSTimer 目标

swift - 在扩展名中打印文件名