Sprite Kit物理碰撞问题

Che*_*ees 6 collision-detection ios sprite-kit skphysicsbody

我遇到了一些碰撞问题.我有两个相同大小和质量的物体.当一个人碰到另一个静止的时候,我会得到正确的行为(图像中的灰色区域).当我有两个彼此相邻的对象时,行为不太正确.Spritekit结果在左边.预期/需要的结果是正确的.

我想我知道发生了什么,但不知道该怎么办.如果对象是一个质量两倍的对象,那么spritekit行为将是正确的,但它们是单独的对象,最上面的对象应该采用传入粒子的速度.它似乎将它们视为一个对象.

在两个人碰到一个小间隙之后我试过作弊和缩小半径,但事情变得一团糟.有人知道我能在这做什么吗?谢谢.

在此输入图像描述

use*_*216 0

你可以做的,这只是理论上的,因为我自己还没有尝试过,是在碰撞回调中检查其中一个碰撞器是否与第三个物体相交/碰撞,并手动计算其速度。

我怀疑您不会对两个堆叠的球进行碰撞检测(因为它们从该位置开始),因此手动检查这一点并对相邻的物体应用适当的速度可能会成功。

可能必须跟踪哪些“身体对”已经计算出它们的新速度以避免计算周期(可能是无限的)。