0

UIPinchRecognizer とオープン ピンチを使用して、誰かが Box2D ワールドでスプライトを「引き離す」ことを検出します。

問題は、2 つのアイテムを互いの方向にドラッグすると、これがクローズ ピンチとして検出され、すべての touchjoints と box2d オブジェクトの動きが中断されることです。

私は自分の問題を 2 つの質問に分割しようとしました - あなたが今読んでいる質問: クローズピンチを抑制することは可能ですか? それが不可能な場合:オープンピンチを自分で検出する方法.

クローズピンチの検出を抑制するか、独自のオープンピンチ検出を作成する必要があります。

次のように開いたピンチでピンチ ジェスチャ メソッドから戻ってみました。

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 に答える