java - libgdx 不同的力量对 body 有相同的影响

标签 java android libgdx box2d

当我将此力应用于播放器时 body.applyForceToCenter(new Vector2(dir.x*500000*999999, dir.y*500000*999999), true); 我得到几乎相同的结果效果和我这样做时一样 body.applyForceToCenter(new Vector2(dir.x, dir.y), true);。这行代码位于一个方法中,当玩家应该在特定方向 dir 上移动时调用该方法,该方向是一个 Vector2。我尝试多次调用该方法并使用 applyForce()applyLinearImpulse()

最佳答案

Box2D 确实有一个速度上限,即每个时间步长 2 个单位。 假设 60 FPS,这意味着最大速度为 120 m/s。

如果我们假设 dir 被归一化,您最终将达到 500000*999999=499999500000 m/s^2 的加速度 - 这有点大并且非常接近极限很快。

这意味着在一秒钟内速度将增加 499999500000 m/s,远高于 120。

正如@dfour 所说,使用较小的对象和值 - 当对象的大小在 0.1 到 10 m 之间时,Box2D 的效果最佳。

关于java - libgdx 不同的力量对 body 有相同的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44807828/

相关文章:

java - sql 查询中出现意外的 token 错误

android - 获取 java.io.IOException : HTTP request failed, HTTP 状态 : 404 in ksoap2 while passing xml data to soap1. 2 android

android - 查询专辑封面总是返回 No entry for content ://media/external/audio/albumart/31726

android - 如何允许覆盖 Android 中库的字体系列

java - 如何简化多个IF语句?

java - 解析 Soap Service 对 Retrofit 的使用我在响应中的类信封模型中面临这样的异常(即)不匹配的主体模型

Java 给出 00 :00:00 time when gathering dateTime from MySQL

java - 当几个线程尝试调用同一个同步方法时会发生什么?

java - 在 LibGDX 中移动 Sprite

java - 将 20 个元素放入坐标系中且相邻元素唯一的最佳方法