在手指的场景中,你可以移动物体。但是,如果你只是加快手指在屏幕上的移动-物体仍然在位置。有可能加速它的运动速度吗?持续时间已设置为0。
override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
let touch = touches.first
let touchLocation = touch!.locationInNode(self)
let node = self.nodeAtPoint(touchLocation)
if (node.name == "circle") {
let moveAction = SKAction.moveTo(touchLocation, duration: 0)
figureUser.runAction(moveAction)
}
}发布于 2015-12-21 18:31:40
你的问题不是速度,你的问题是你在屏幕上移动得太快,以至于你的触摸不再识别它下面的一个节点,因为这个节点实际上不在它下面。如何处理此问题是在touch begin事件上,您检查节点,并将此节点分配给变量。然后,在“触摸移动”事件中,更新新变量。最后在触摸端,清除变量。注意,您需要处理多点触摸之类的代码。
var movingNode : SKNode?
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
let touch = touches.first
let touchLocation = touch!.locationInNode(self)
let node = self.nodeAtPoint(touchLocation)
if (node.name == "circle") {
movingNode = node
let moveAction = SKAction.moveTo(touchLocation, duration: 0)
figureUser.runAction(moveAction)
}
}
override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
let touch = touches.first
let touchLocation = touch!.locationInNode(self)
let moveAction = SKAction.moveTo(touchLocation, duration: 0)
//at this point I am lost, how does node even relate here,
//is figureUser suppose to be node?
figureUser.runAction(moveAction)
}https://stackoverflow.com/questions/34400756
复制相似问题