【发布时间】: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