0

我正在制作一个带有迷宫的应用程序,我在界面构建器中的迷宫内放了一个球(我为它放置了一个出口)我有一个 touchesMoved:

 -(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 if 语句,我说,如果球的框架接触到迷宫的框架,那么 // 我的事情就会发生,但是由于某种原因,每当我尝试移动球而不接触迷宫的框架时,//我的事情发生了。我不知道为什么,可能是因为球在迷宫中,可能不是因为我说如果 cgrectintersectsrect frame not bounds。那么为什么会这样呢?

我有另一个名为 flag 的 uiimageview iboutlet,我有相同的 cgrectintersectsrect 类型的代码,它在相同的 touchesMoved 中工作,那么为什么这不起作用

4

1 回答 1

1

试试这个

UITouch *touch = [[event allTouches] anyObject];

CGPoint point;

point = [touch locationInView:self.view];


point = [[CCDirector sharedDirector] convertToGL: point];


if (CGRectIntersectsRect(ball.bounds, maze.bounds)) {


//frame - x,y,w,h

//bounds- w,h
于 2011-07-14T16:09:52.327 回答