一些背景知识:我有函数spawnBubbles()
,它使用另一个函数determineSpawnPoint()
的输出。
determineSpawnPoint()
会返回随机CGPoint
。还有一个动作,它在随机X坐标CGPoint
中产生0.5秒的SpriteNodes。
问题:由于determineSpawnPoint()
是随机的,有时会在附近创建一行中的2或3个SpriteNodes,因此它们会相互交叉。
我想要实现什么:创建一个功能
func checkForFreeSpace(spawnPoint:CGPoint) -> Bool{
//some code
}
如果某个点周围有空闲空间,则返回true
。
所以,基本上,当我得到新的随机CGPoint
时,我想在它周围实现CGRect
,并检查这个矩形是否与某些SpriteNodes
相交(在常识中说,如果它周围有自由空间)
答案 0 :(得分:3)
您可以从点和节点创建两个CGRects
,并使用CGRectIntersectsRect
函数检查它们是否相交。如果函数相交,函数将返回true
。
if (CGRectIntersectsRect(rect1, rect2))
{
println("They intersect")
}