0

我正在使用 UIPinchRecognizer 和一个张开的捏来检测何时有人“拉开” Box2D 世界中的精灵。

问题是,当您将两个项目相互拖动时,它会检测到这是一个紧密的捏合,并破坏了我所有的触摸关节和 box2d 对象的移动。

我试图将我的问题分成两个问题 - 您现在正在阅读的问题:是否可以抑制近距离捏合,如果这不可能:如何检测自己的张开捏合

我需要抑制对闭合夹的检测或编写我自己的打开夹检测。

我尝试在这样的打开捏合上从捏合手势方法返回:

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

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

你能通过抑制对紧缩的检测来帮助我解决这个问题吗?

4

1 回答 1

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;
}
于 2012-04-18T02:07:44.527 回答