--我正在寻找一种方法来测试一个节点是否被挤在屏幕和移动的墙壁之间(就像垃圾压实器)。
在视觉上,屏幕的右边有一个正方形,然后一个垂直的矩形将它推到屏幕的左边。
我的墙壁和玩家节点都有物理实体,墙以恒定的速度移动到玩家身上。显然,在某一点上,墙会与玩家重叠,因为没有更多的空间让墙来推动玩家。是否有方法检测节点之间的重叠?
我试过这样做:(墙壁压扁了屏幕左边的播放器)
if (playerNode.position.x + playerNode.size.width/2 > wallNode.position.x-wallNode.size.width)
{
//Do whatever
}但这是非常精细的工作,我宁愿使用物理引擎内置的东西,如果有一个感谢!
发布于 2016-01-24 02:08:48
好吧,我找到了解决办法-
如果你使用:
if ((playerNode.intersectsNode(wallNode) != nil)
{
//Do whatever
}你得到了我想要的确切结果。玩家和墙仍然正常地碰撞,但是如果玩家被压入墙,这个动作被称为。我只是简单地把它放在方法中,如果-然后:
override func update(currentTime: CFTimeInterval) {
}https://stackoverflow.com/questions/34970431
复制相似问题