-1

我正在开发一个游戏,我允许用户在目标图像(UIImageView)上拖放图像(UIImageView),并且我正在使用 TouchesEnded 中的(CGRectIntersectsRect)来实现这一点。

现在我需要在(TouchesMoved)中做同样的事情,我已经有条件地检查了两个图像的(CGRectIntersectsRect),如果为真,我正在使两个图像帧相等并禁用用户对该图像的交互,它表示但图像仍然可以拖动直到( TouchesEnded) 调用。

我正在使用下面列出的代码来结束拖入(TouchesMoved):

if([self distanceBetweenPoint:fruit1.center andPoint:fruit1b.center]<=45) { fruit1.frame = fruit1b.frame; fruit1.userInteractionEnabled = FALSE; }

谁能给我这个问题的解决方案?

4

1 回答 1

0

你可以做一个全局的BOOL endDragging,当你的条件得到满足时,你return只是touchesMoved.

可以的,我刚测试过,满足条件后就不能移动图片了。

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
 if(endDragging)
  return;

 //do stuff

}
于 2013-07-18T12:45:51.027 回答