如何检查两个SKSpriteNode是否彼此靠近?例如半径为100。我正在使用gamecene.swift和gamecene.sks。

最佳答案

SKSpriteNode具有带有(x,y)的position属性。

两个位置之间的距离是sqrt((x1-x2)^2 + (y1-y2)^2)
所以:

let dist = sqrt(pow(sk1.position.x - sk2.position.x, 2.0) + pow(sk1.position.y - sk2.position.y, 2.0))
if dist < 100 {
    // they are close
}

这是中心到中心。

根据@MartinR的评论,您还可以
let dist = hypot(sk1.position.x - sk2.position.x, sk1.position.y - sk2.position.y)

距离为您服务。

关于ios - 如何检查两个SKSpriteNode是否彼此靠近?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44575483/

10-16 01:31