我正在尝试制作我的第一款 iOS 游戏。由于我是编程新手,尤其是 Swift,这对我来说非常困难。
我正在尝试让我的卡通老鹰响应我的手指滑动(我想做的是在屏幕上的任意位置滑动我的手指,我的老鹰会响应)。
我这样做是为了让它四处移动,但我想做的只是在屏幕上的任意位置滑动我的手指,老鹰会对我手指的移动使用react。
到目前为止,这是我的代码,我已将它与 Storyboard 中的 PanGestureRecognizer 相关联:
@IBAction func handlePan(recognizer:UIPanGestureRecognizer) {
let translation = recognizer.translationInView(self.view)
recognizer.view!.center = CGPoint(x:recognizer.view!.center.x + translation.x,
y:recognizer.view!.center.y + translation.y)
recognizer.setTranslation(CGPointZero, inView: self.view)
}
请您参考如下方法:
看来您对 UIKit 和 SpriteKit 感到困惑。
基本上,您需要做的是跟踪您的触摸在屏幕上的移动。由于 SKNode 继承自 UIResponder,因此最简单的方法是覆盖:
touchesBegan(_:withEvent:)
touchesMoved(_:withEvent:)
touchesEnded(_:withEvent:)
例如让鸟节点跟随你的手指:
class YourScene : SKScene {
var birdNode: BirdNode
// Additional setup, etc
override func touchesMoved(touches: NSSet, withEvent event: UIEvent) {
super.touchesMoved(touches, withEvent: event)
if touches.count > 0 {
var touch: UITouch = touches.anyObject()! as UITouch
var position: CGPoint = touch.locationInView(self.view)
position = self.convertPointFromView(position)
birdNode.position = position
}
}
}
