我想要做的是让SkspiteNode从左到右移动。这发生在触摸上。
我有这段代码:
override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
for touch in touches{
touchLocation = touch.locationInNode(self)
mainGuy.position.x = touchLocation.x;
}
}
这很有效。但当我在屏幕右侧移动手指并且主屏幕位于屏幕左侧时,它移动到我的手指。这不是我想要发生的事情。
当我将手指移到屏幕上时,需要按照“&#39;我的手指来自mainGuy的当前位置。
我该怎么做?
答案 0 :(得分:1)
做类似的事情:
var touchesBeganPosition: CGPoint?
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
touchesBeganPosition = touches.first?.locationInNode(self)
}
override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
for touch in touches {
touchLocation = touch.locationInNode(self)
if let touchesBeganPosition = touchesBeganPosition {
mainGuy.position.x = touchLocation.x - touchesBeganPosition.x
}
}
}
这当然没有经过考验,但应该足以得到一般的想法。