Matter JS 暂停物理但仍与对象交互
Matter JS Pause physics but still interact with objects
我想暂停 matter.js 但仍然能够操作对象。当我切换 runner.enabled 时,它会禁用所有鼠标约束。我希望能够暂停引擎并移动对象,然后重新打开物理。有什么建议吗?
您需要在身体上切换 IsStatic。
要暂停所有 objects,您可以 运行 for 循环将所有 bodies.body.isStatic
属性设置为 True
。
然后,在单击事件 mouseDown 上你可以做 this.body.isStatic = false;
,在 mouseUp 上你可以做 this.body.isStatic = true;
这将允许你操纵你的身体并将它们移动到你喜欢的任何地方,直到你做类似 bodies.forEach(body) body.isStatic = false
的事情让你的身体再次与你的世界互动。
请记住,这将保留物理属性,因此您还需要将物体的速度和动量等属性重置为暂停前的某个点。在 unPause 或 mouseUp 上。
我想暂停 matter.js 但仍然能够操作对象。当我切换 runner.enabled 时,它会禁用所有鼠标约束。我希望能够暂停引擎并移动对象,然后重新打开物理。有什么建议吗?
您需要在身体上切换 IsStatic。
要暂停所有 objects,您可以 运行 for 循环将所有 bodies.body.isStatic
属性设置为 True
。
然后,在单击事件 mouseDown 上你可以做 this.body.isStatic = false;
,在 mouseUp 上你可以做 this.body.isStatic = true;
这将允许你操纵你的身体并将它们移动到你喜欢的任何地方,直到你做类似 bodies.forEach(body) body.isStatic = false
的事情让你的身体再次与你的世界互动。
请记住,这将保留物理属性,因此您还需要将物体的速度和动量等属性重置为暂停前的某个点。在 unPause 或 mouseUp 上。