我一直在努力研究这个并使用不同的方法,但运气不好。我正在开发一个平台游戏,我想知道我的角色是否正在触摸墙壁(击中侧面)或者当他触地时(击中底部)。
我试图使用两个身体之间的contactPoint位置来计算这一点,但通常无法判断角色是用脚踩到侧墙还是用脚撞击地面。
我已经阅读过使用传感器的信息,其物理实体没有碰撞障碍物,但只使用了contactTestBitMask。我已经创建了两个带有physicsBodies的SKNode,一个用于侧面,一个用于脚,但如果我将它们设置为基于体积,与我的角色连接,则传感器的质量会使各种错误的事情发生,比如获取卡在地上或太沉重。
如果我让他们以边缘为基础,他们不会随着我的角色移动,我必须手动更新它们,这通常会落后。
我知道这不是一个新概念,但我找不到如何实现这个。我的问题是,使用SpriteKit,我如何确定我的玩家是否接触地面而不是触摸他的头部而不是触摸他的身体两侧。
谢谢!