繁体   English   中英

不调用滑动手势动作

[英]Swipe gesture action is not called

我正在尝试为tv做基本的2D蛇游戏。

我的手势有问题。 我在GameScene类中的didMoveToView(view: SKView)方法中添加了手势。 本课程还扩展了SKScene类。 这是我的didMoveToView方法和handleSwipe方法。

override func didMoveToView(view: SKView) {
    let swipeUp = UISwipeGestureRecognizer(target: self, action: "handleSwipe:")
    swipeUp.direction = .Up
    view.addGestureRecognizer(swipeUp)

    let swipeDown = UISwipeGestureRecognizer(target: self, action: "handleSwipe:")
    swipeDown.direction = .Down
    view.addGestureRecognizer(swipeDown)

    let swipeLeft = UISwipeGestureRecognizer(target: self, action: "handleSwipe:")
    swipeLeft.direction = .Left
    view.addGestureRecognizer(swipeLeft)

    let swipeRight = UISwipeGestureRecognizer(target: self, action: "handleSwipe:")
    swipeRight.direction = .Right
    view.addGestureRecognizer(swipeRight)

    backgroundColor = SKColor.blackColor()
}

func handleSwipe(sender: UIGestureRecognizer) {
    if let gesture = sender as? UISwipeGestureRecognizer {
        switch(gesture.direction) {
            case UISwipeGestureRecognizerDirection.Right: m_snake.moveRight()
            case UISwipeGestureRecognizerDirection.Left: m_snake.moveLeft()
            case UISwipeGestureRecognizerDirection.Up: m_snake.moveUp()
            case UISwipeGestureRecognizerDirection.Down: m_snake.moveDown()
            default:
                break
        }
    }
}

当我在遥控器上滑动时,似乎我的程序没有输入handleSwipe方法。 我在模拟器上测试这个。 知道为什么这不起作用吗?

func handleSwipes(sender:UISwipeGestureRecognizer) {
    if let gesture = sender as? UISwipeGestureRecognizer {
        switch(gesture.direction) {
            case UISwipeGestureRecognizerDirection.Right: m_snake.moveRight()
            case UISwipeGestureRecognizerDirection.Left: m_snake.moveLeft()
            case UISwipeGestureRecognizerDirection.Up: m_snake.moveUp()
            case UISwipeGestureRecognizerDirection.Down: m_snake.moveDown()
            default:
                break
        }
    }
}

我刚刚在我当前的项目中测试了你的代码,它工作得很好

要使滑动工作,请像这样配置模拟器;

  • 通过转到硬件>显示Apple TV Remote来显示遥控器
  • 当鼠标悬停在触控板上时按住选项。
  • 在滑动移动中将鼠标向侧面移动

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM