1

我希望暂停 matter.js,但仍然能够操作对象。当我切换 runner.enabled 时,它会禁用所有鼠标约束。我希望能够暂停引擎并移动对象,然后重新打开物理。有什么建议么?

4

1 回答 1

0

您需要在您的身体上切换 IsStatic。

要暂停所有对象,您可以运行 for 循环将所有bodies.body.isStatic属性设置为True.

然后,在点击事件 mouseDown 你可以做this.body.isStatic = false;,在 mouseUp 你可以做this.body.isStatic = true;

这将允许你操纵你的身体并将它们移动到任何你喜欢的地方,直到你做一些bodies.forEach(body) body.isStatic = false让你的身体再次与你的世界互动的事情。

请记住,这将保留物理属性,因此您还需要将物体的速度和动量等属性重置为暂停前的某个点。在 unPause 或 mouseUp 上。

于 2019-02-13T21:54:19.677 回答