我有一个游戏,我在顶层上移动正方形块,在下面的圆圈上方,这是不可移动的。所以当一个块的拖动停止时,我想运行一个check或if语句来查看我正在移动的块(myBlocks [objectDragging])是否在我的圆心的x像素数内(myCircles [objectDragging] ])。 objectDragging只是点击图像的标签。匹配的圆圈将具有相同的标签。一切都很好,我只是无法弄清楚如何检查我正在下降的块(它的中心点)是否在圆心点的这么多像素内。
我正在使用的一些内容:
var myBlocks = [UIImageView]()
var myCircles = [UIImageView]()
let objectDragging = recognizer.view?.tag
if myBlocks[objectDragging!].center.x == myCircles[objectDragging!].center.x {
...
} //this checks for an exact match of center.x where-as I want to check
//if the center.x for myBlocks[objectDragging!] is <= we'll say,
//25, pixels of the myCircles[objectDragging!].center.x
答案 0 :(得分:0)
在此讨论找到两个CGPoints之间的距离:
How to find the distance between two CG points?
per Lucius(回答2)
pB和p2的myBlocks.center和myCircles.center中的您可以使用hypot()或hypotf()函数来计算 斜边。给出两点p1和p2:
CGFloat distance = hypotf(p1.x - p2.x, p1.y - p2.y);
sub然后
if distance < 25 {
...
}