我试图让玩家精灵节点在碰到危险节点时重置。我怎样才能做到这一点? 该代码无效。
if player.position == danger.position {
player.position = CGPoint(x: 0, y: 550)
} else if player.position == goal.position {
print("Good Job!")
}
答案 0 :(得分:0)
在简单的情况下,如果节点在相同的坐标空间中(即它们具有相同的父级),则CGRect会提供一种方法,该方法将告诉您rect是否与另一个rect相交:
double
如果不使用SKNode.convert(from:)来变换位置之一,则重建一个变换后的框架(与UIView SKNode只能变换点而不能校正)不同。
物理系统可以为您进行碰撞和接触,这是执行此类操作的首选方式,但是如果您不想加入物理,则上面的示例可以工作。