如何检查两个 SKSpriteNode 是否彼此靠近?就像在 100 的半径内。我正在使用 gamescene.swift 和 gamescene.sks。
最佳答案
SKSpriteNode 有一个带有 (x, y) 的位置属性。
两个位置之间的距离是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/