【问题标题】:Box2d: dynamic body does not contact with kinematic body completelyBox2d:动态体不与运动体完全接触
【发布时间】:2014-11-10 17:42:39
【问题描述】:

我正在构建一个基于 box2d 的简单平台游戏。

播放器被制作为具有两个传感器(底部和顶部)的 ChainShape 动态多边形对象。

地板对象是一个简单的运动盒子。

问题是,由于某种原因,玩家的身体永远不会完全倒在地板上——它们之间总是有几个像素,使玩家精灵看起来像是在地板上飞而不是站在地板上。

这是几张放大的截图:1)玩家跳跃(身体看起来不错):

2) 玩家站在地板上(有东西出现在玩家身体底部并阻止其与地板接触):

运动体与地板正确接触。

可能是什么问题?

【问题讨论】:

    标签: box2d collision-detection collision


    【解决方案1】:

    我在这里找到了答案http://www.iforce2d.net/b2dtut/gotchas#smallgap

    每个 box2d 单元有 250 像素,因此其中 0.005 等于 1.25 像素。除此之外,这个线性斜率似乎来自两个灯具,最终导致 2-3 像素间隙。

    改变世界后(我必须将 250 像素变成 5 个单位,增加 5 倍重力,同时增加所有水平速度 5 倍以获得与原来相同的游戏感觉)问题似乎解决了。

    【讨论】:

      猜你喜欢
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-24
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      相关资源
      最近更新 更多