UIPinchGestureRecognizer - 抑制'close pinch'检测

时间:2012-04-17 05:11:40

标签: objective-c cocoa-touch cocos2d-iphone box2d uigesturerecognizer

我正在使用UIPinchRecognizer和一个开放式捏合来检测某人是否在Box2D世界中“拉开”一个精灵。

问题在于,当你将两个物品朝向彼此拖动时,它会将其检测为一个紧密的捏合并打破我所有的触摸接合和box2d物体的移动。

我试图将我的问题分成两个问题 - 你现在正在阅读的问题:是否有可能抑制紧密捏,如果不可能:how to detect an open pinch myself

我需要抑制检测到紧密的夹点或编写我自己的开放夹点检测。

我尝试从捏手势方法返回,如下所示:

if (pinch.velocity < 0) {
    //close pinch
    return;
}

但它不起作用,因为它仍会破坏触摸关节/ box2d对象。

你能否通过抑制近距离捏合来帮助我解决这个问题?

1 个答案:

答案 0 :(得分:0)

我需要在设备上查看这个,但我认为这已经修复了它:

//Multitouch / pinch?
UIPinchGestureRecognizer *pinchRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchGesture:)];
pinchRecognizer.cancelsTouchesInView = NO; //This fixes it because it stops the mouse joints getting broken. 

[[[CCDirector sharedDirector] openGLView] addGestureRecognizer:pinchRecognizer];
[UIPinchGestureRecognizer release];

使用pinchGesture方法:

if(pinch.velocity <0 ){
    return;
}