MatterJS 预计算最终位置
MatterJS precompute final position
我正在尝试创建一个简单的 2D 游戏,其中一个球落到地上,受到一些障碍物的影响,这些障碍物会改变球的最终位置。
我正在使用 MatterJS 作为 2D 物理引擎,但它实际上是不可预测的,使用相同的参数,我的球总是处于不同的最终位置。
有没有办法预先计算球的路径(即时),将其保存到变量中并加载它以在我需要时获得完全相同的路径?或者有没有办法准确预测最终位置?
我找到了一种通过手动调用 Matter.Engine.update(engine)
并为每一帧存储我的球的位置来立即预先计算球的路径的方法。
然后我重置我的球的位置,设置ball.isStatic = true;
并在每一帧手动移动它:
Matter.Events.on(engine, "afterUpdate", () => {
if (positions.length > 0) {
Matter.Body.setPosition(ball, positions.shift());
}
});
我正在尝试创建一个简单的 2D 游戏,其中一个球落到地上,受到一些障碍物的影响,这些障碍物会改变球的最终位置。
我正在使用 MatterJS 作为 2D 物理引擎,但它实际上是不可预测的,使用相同的参数,我的球总是处于不同的最终位置。
有没有办法预先计算球的路径(即时),将其保存到变量中并加载它以在我需要时获得完全相同的路径?或者有没有办法准确预测最终位置?
我找到了一种通过手动调用 Matter.Engine.update(engine)
并为每一帧存储我的球的位置来立即预先计算球的路径的方法。
然后我重置我的球的位置,设置ball.isStatic = true;
并在每一帧手动移动它:
Matter.Events.on(engine, "afterUpdate", () => {
if (positions.length > 0) {
Matter.Body.setPosition(ball, positions.shift());
}
});