我的touchesBegan对于发生的每个不同的触摸事件都能正常工作,除了我同时触摸两个不同的位置时。在放下另一个手指之前,我总是要抬起一根手指。我有没有办法让touchesBegan(并希望touchesMoved)同时为两个不同的触摸工作?在我的项目的情况下,我有一把剑,如果你点击手柄它会翻译剑,如果你点击刀片它会旋转剑,但如果你点击它们,剑就会飞到屏幕上
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
/* Called when a touch begins */
for touch in (touches as! Set<UITouch>) {
let location = touch.locationInNode(self)
dx = location.x - Handle.position.x
dy = location.y - Handle.position.y
locationAngle = atan2(dy, dx)
if (HandleTouch.containsPoint(location)){
touchedHandle = true
}
else if (BladeTouch.containsPoint(location)){
touchedBlade = true
}
}
}
答案 0 :(得分:1)
确保视图的true
属性设置为BigInt
,您可以在代码中或在Interface Builder中使用“多次触摸”复选框。