Sprite kit 检查是否没有联系

Sprite kit 检查是否没有联系,sprite-kit,skphysicsbody,Sprite Kit,Skphysicsbody,我正在使用Sprite工具包(及其物理引擎)开发一款益智平台游戏。我的玩家的物理身体由一个覆盖了大部分精灵的大击盒和一个固定在击盒底部的带销接头的轮子组成。旋转被添加到轮子上,使玩家在屏幕上移动 我需要知道球员是否在地上,或者是否从壁架上摔下来;我知道如何检查物理身体接触,但是否可以检查没有接触(即车轮离开地面时)?我不能依赖于比较上一帧的Y位置,因为玩家会爬上倾斜的表面。您可以使用didEndContact:(skphysiccontact*)触点检查车轮是否不再接触地面。与didBeginC

我正在使用Sprite工具包(及其物理引擎)开发一款益智平台游戏。我的玩家的物理身体由一个覆盖了大部分精灵的大击盒和一个固定在击盒底部的带销接头的轮子组成。旋转被添加到轮子上,使玩家在屏幕上移动


我需要知道球员是否在地上,或者是否从壁架上摔下来;我知道如何检查物理身体接触,但是否可以检查没有接触(即车轮离开地面时)?我不能依赖于比较上一帧的Y位置,因为玩家会爬上倾斜的表面。

您可以使用
didEndContact:(skphysiccontact*)触点检查车轮是否不再接触地面。与didBeginContact相同的原则:(skphysiccontact*)联系人
正好相反。

啊,太好了。非常感谢!我只是想说,我最后不得不使用一种不同的方法——我的游戏世界是基于磁贴的,每当玩家离开一个磁贴时,
didEndContact
就会开火(无论他们是否移动到另一个“地面”磁贴)。现在,我使用
physicsWorld.bodyAlongRayStart()
检查玩家左右角下方是否有物理预兆,以检测玩家是否站在地面上。