检查是否没有联系

Check for absence of contact

我正在使用 Sprite Kit(及其物理引擎)开发一款益智平台游戏。我的玩家的物理 body 包括一个覆盖大部分精灵的大型碰撞箱,以及一个固定在碰撞箱底部的带销接头的轮子。向轮子添加旋转以使玩家在屏幕上移动。

我需要知道玩家是在地上,还是从窗台上掉下来了;我知道如何检查物理 body 接触,但是否可以检查是否没有接触(即当轮子离开地面时)?我不能依赖于比较最后一帧的 Y 位置,因为玩家会爬上倾斜的表面。

您可以使用 didEndContact:(SKPhysicsContact *)contact 检查车轮是否不再接触地面。与 didBeginContact:(SKPhysicsContact *)contact 相同的主体只是相反。