我有一个游戏,我在顶层的方块上方移动方块,方块上方是不可移动的。因此,当停止拖动块时,我想运行检查或if语句来查看我正在移动的块(myBlocks [objectDragging])是否在圆心(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
最佳答案
在此处进行讨论以找到两个CGPoint之间的距离:
How to find the distance between two CG points?
每个Lucius(答案2)
您可以使用hypot()或hypotf()函数来计算
斜边。给定两个点p1和p2:
CGFloat distance = hypotf(p1.x - p2.x, p1.y - p2.y);
将myBlocks.center和myCircles.center中的sub分别用于p1和p2,然后
if distance < 25 {
...
}
关于ios - 确定被拖动的图像是否在特定区域内,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42219367/