我正在制作一个带迷宫的应用程序,我在界面构建器的迷宫中放了一个球(我为它设置了一个插座)我有一个触摸移动:
-(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框架没有界限。那么为什么会这样呢?
我有一个名为flag的uiimageview的另一个iboutlet,我有相同的cgrectintersect正确类型的代码,并且它在相同的touchesMoved中工作,所以为什么这不起作用
答案 0 :(得分: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