【反馈BUG】:多个BOX2D刚体重合或相邻时出现的BUG

我在研究2D平台动作游戏,正在试验BOX2D刚体,想到一个自定义多边形刚体组成斜坡,一个矩形刚体接到一起组成类似楼梯,让精灵能像上楼梯那样上去。但在试验楼梯之前,想试验多个地图瓦片拼接成长平台,结果就发现了下面的BUG。

  • Creator 版本:2.3.4

  • 目标平台: WEB/模拟器

  • 详细报错信息,包含调用堆栈:

  • 重现方式:提供的DEMO里testSlope场景可以重现。
    建立一个静态矩形刚体,复制多个,平移使各个矩形刚体Y坐标相同,X坐标不同,相互之间能连接成一个更长的平台(各个刚体之间有重合或者无缝连接均可)。用方向键(上是跳跃可2段跳,左右是向左向右)控制精灵,跳到场景里刚才搭建的大平台。
    如果精灵最大速度设置比较小,那么有一定几率会在刚起步时,卡到两个矩形刚体重合的地方,不能继续前进,只能返回多走几次,等到速度够快的时候才能越过。

  • 出现概率:很容易复现。

  • 额外线索:提供截图示意

位置如图所示
刚好卡在两个刚体重合部分的一边。

DEMO:
test005.rar (806.1 KB)

求开发组帮忙看看,这真的是个BUG,还是我哪里设置的不对导致的?
如果是我设置不对,能否给出正确的解决办法?
毕竟在2D游戏里,地图是组合成的,两个Y坐标相同且高度相同的矩形刚体相邻组合也很常见。

这个确实是BUG。就在昨天我遇到了同样的问题,浏览了百度之后发现了这样一篇文章
https://www.cnblogs.com/ldy520/p/9803898.html

我的解决方案是在tiledmap中创建对象层绘制矩形或多边形。然后创建空节点加刚体,把碰撞盒设置为矩形的位置和宽高来碰撞,这样一个平台只是一个刚体,就不会出现这种问题了。

1赞