5
我正在使用XCode 6的Sprite-Kit工作在Swift中,而且我有很多不同的節點,但目前我只能設法檢測一個手指並同時移動一個節點。 我想知道如何設法檢測多個手指以同時移動多個節點。 我實際的代碼是:Sprite Kit中的多點觸控手勢
var location = CGFloat() // finger position
var actualNode = -1 // node touched by the finger, -1 means no node touched
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) // when a finger touch the screen
{
for touch: AnyObject in touches
{
location = touch.locationInNode(self) // we detect the finger position
}
for var index = 0; index < colorNode.count; index++
{
if nodeAtPoint(location) == colorNode[index].node
{
actualNode = index // the number of the node touched by the finger
}
}
}
override func touchesMoved(touches: NSSet, withEvent event: UIEvent) // when a finger move
{
for touch: AnyObject in touches
{
location = touch.locationInNode(self) // we detect the finger position
}
if actualNode != -1 // if a node is touched
{
colorNode[actualNode].position = location // we move this node to the finger
}
}
override func touchesEnded(touches: NSSet, withEvent event: UIEvent) // when a finger don't touch the screen anymore
{
actualNode = -1 // there is no node touched
}
正如你看到的我只有我的第一根指頭的position
,但我怎麼能檢測多個手指的位置和每個手指分配給通過手指觸摸的節點?
謝謝。這很好。 – Epsilon 2014-12-10 07:57:42