将拼图块捕捉到高视图拼贴

时间:2014-01-12 22:03:08

标签: ios objective-c

嗨,我正在制作一个益智游戏,并坚持将我的拼图块(UIImageVIew)“捕捉”到瓷砖板(主要UIView的子视图)的逻辑。我有一个游戏,我可以从主视图中拖动每个拼图块,但是当我需要将它放在正确的瓷砖方块时,我不知道如何将它捕捉到正确的瓷砖。

我读到了使用中心作为一种方法来确定我的拼图在视图中的位置,但我如何确定它与“正确拼贴”的接近程度并将其捕捉到其位置。

感谢您今后的任何回复。

1 个答案:

答案 0 :(得分:1)

您可以计算拼图块的center与中心所在点之间的距离。您必须拥有此信息,否则您将不知道拼图块何时处于正确位置。

你可以像这样计算两点之间的距离:

CGPoint p = piece.center;
CGPoint b = correctPositionForPiece;

double distance = sqrtf( (p.x-b.x)*(p.x-b.x) + (p.y-b.y)*(p.y-b.y) );

将距离与手指上所需的最大距离进行比较。然后使用简单的UIView动画为变化添加动画效果。

[UIView animateWithDuration:0.3 animations:^{
   piece.center = b;
}];