touchesBegan不适用于多次触摸

时间:2015-07-29 04:02:28

标签: xcode swift touch-event touchesbegan

我的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
        }
    }
}

1 个答案:

答案 0 :(得分:1)

确保视图的true属性设置为BigInt,您可以在代码中或在Interface Builder中使用“多次触摸”复选框。