2011-07-14 4 views
1

可能性の重複:
CGRectIntersectsRect ProblemCGRectIntersectsRect

私は(私はそれのためにコンセントを入れて)インタフェースビルダで迷路内のボールを入れて、迷路でアプリを作っています私が持っているtouchesMoved:文は、私が言うのならば、私は2 CGRectIntersectsRectを持って

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { 
    UITouch *touch = [[event allTouches] anyObject]; 
    CGPoint point; 
    point = [touch locationInView:self.view]; 

    ball.center = point; 

    if (CGRectIntersectsRect(ball.frame, maze.frame)) { 
     //my stuff 
    } 
} 

をボールのフレームトウシュ場合迷路のフレーム、//私のものが起こるが、何らかの理由で、迷路のフレームに触れることなくボールを動かそうとするたびに、//私のものが発生する。私はなぜか、おそらくそれはボールが迷路の中にあるからだと私は知らない。おそらく、もし私がcgrectintersectsrect frameが境界ではないと言ったからではない。なぜこのようなことが起こっているのですか?

+1

可能なdup:http://stackoverflow.com/questions/6696393/cgrectintersects-problem – MByD

+1

質問をダブル投稿しないでください。回答が得られない場合は、編集して質問を新鮮に保つことができます。このサイトでは、人々が見ることができる未解決の質問も泡立つ。 –

答えて

8

CGRectIntersectsRectは、rect1のいずれかの部分がrect2の内側にある場合にtrueを返します。あなたのボールが完全にあなたの迷路の中にある間、あなたの交差点のテストは常に真です。

+0

オハイオ州オハイオ州オハイオ州、次に、私はそれを実現することができませんでしたどのように私はそれを修正することができます – user842059

+0

正確に何を達成しようとしている。 – highlycaffeinated

+0

私はそれを迷路の中に置いています。私は/ /私のものは起こっていません。なぜなら、あなたが言ったように、私はそれを内側から始めてから、cgrectintersectsrectははいとして戻るでしょう。 – user842059

-1

あなたはボールのRECTは、あなたの迷路の矩形のエッジに触れる(だけではなくどこでも迷路内)されたときを検出したい場合は、CGRectIntersectsRect(ball, maze)に加えて!CGRectEqualToRect(CGRectIntersection(ball, maze), maze)をテストする必要があります。

+0

このコードはエラー数が多いだけです – user842059

+0

@ user842059を詳しく教えてもらえますか?どのようなエラーが表示されますか? – hatfinch

関連する問題