【问题标题】:Move two paddles at same time in SpriteKit + Swift在 SpriteKit + Swift 中同时移动两个桨
【发布时间】:2015-10-18 04:47:30
【问题描述】:

我正在使用 SpriteKit + Swift 制作一个简单的 Pong 游戏。这是一个多人游戏,所以我希望两个人能够移动两个桨。我希望能够同时移动桨。当我运行下面的代码时,即 touchesBegan 函数,我只能在一根手指按下显示屏时移动每个拨片。当我尝试触摸另一个拨片时,当我的手指已经在屏幕上时,它没有响应。

 let touch = touches.first as UITouch?
 let touchLocation = touch?.locationInNode(self)
 let body: SKPhysicsBody? = self.physicsWorld.bodyAtPoint(touchLocation!)

 if body?.node!.name == PaddleCategoryName {
     print("Paddle Touched!")
     fingerIsOnPaddle = true
 } else if body?.node!.name == PaddleCategoryName2 {
     print("Paddle2 Touched!")
     fingerIsOnPaddle2 = true
 }

【问题讨论】:

  • 这只是一个猜测 - 但您是否尝试过使用多个触控响应器?也许将你的屏幕分成两个视图控制器,每个控制器都有它的触摸响应器?
  • 我尝试过使用多个触摸响应器,但我没有尝试将屏幕分成两个视图控制器。我是 SpriteKit 的新手,你知道怎么做吗?
  • 我对 SpriteKit 也不是很熟悉。如果我是你,我会问一个关于它的新问题。
  • 好的,感谢您的帮助!
  • Apple 有一个有两个输入的示例游戏,我还使用场景上的两个自定义触摸视图作为远程游戏控制器的替代方案。 Apple 示例是 DemoBots 什么的……

标签: ios swift sprite-kit touchesbegan


【解决方案1】:

我知道这有点晚了,但如果你仍然不知道答案,我相信你需要在加载第一个场景时在 viewController 中设置这一行

 skView.multipleTouchEnabled = true

【讨论】:

    猜你喜欢
    • 2016-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-22
    • 1970-01-01
    • 2017-05-04
    • 2016-11-01
    • 1970-01-01
    相关资源
    最近更新 更多