0

次のように、PanGestureRecognizer が一連の if ステートメントを使用してボタンをいくつかの異なる場所のいずれかに移動するシステムに取り組んでいます。

(IBAction)drag: (UIPanGestureRecognizer *)recognizer
{
    CGPoint touchLocation = [recognizer translationInView:self.view];

    if (touchLocation.x > -12.5 && touchLocation.x < 27.5)
    {
        recognizer.view.center= CGPointMake(30, 486);
    }

    else if (touchLocation.x > 32.5 && touchLocation.x < 72.5)
    {
        recognizer.view.center = CGPointMake(75, 486);

    }

...

私が直面している問題は、touchLocation がボタンの右側で始まる (右にドラッグされる) ときに、PanGesture の座標が遅く始まり、ピースが遅く動くことです。プレイヤーがボタンの左側からタッチを開始すると、座標が正しくカウントアップされ、ピースが正常に動作します。

プログラミングに関しては、私はまだ完全な初心者なので、そもそもこれが自分の作品を動かすための最も効率的な方法でさえないかもしれませんが、私はこれをほぼ機能させており、必要なのは1つだけだと感じていますコードを希望どおりに機能させるための追加のピース。あなたの考えを教えてください!

ありがとう!

4

1 に答える 1

0

translationInViewlocationInViewタッチ位置からのオフセットを提供します。おそらく、実際のタッチ位置を取得するために使用したいですか?

于 2013-05-15T15:48:49.070 に答える