如何解决如何防止快速移动的对象通过something.js中的其他对象?
找到答案了吗? 有谁知道如何解决这个问题? 我当时在上网,但似乎没有解决方案。 我发现的唯一东西是旧的未完成的提案。
如果身体开始移动太快或超出范围,我试图停止它:
var frame = () => {
if(condition){
this.Body.applyForce(body,position,force);
}
window.requestAnimationFrame(frame);
}
frame();
但是我不知道有多少力量来阻止它。我试图将速度用作反作用力,但是没有适当的位置参数值,我无法成功。
在哪里可以从中获得正确的反作用力值,正确应用位置参数的值将是什么?
以及如何在与某些物体(如墙)的碰撞中施加反作用力? 在与墙壁碰撞时施加反力也有意义吗?通过墙壁的物体甚至会与它们碰撞吗?
亲切的问候, 斯拉维克
解决方法
您最好的选择是:
- 增加碰撞对象的大小。
或
- 使用
engine.positionIterations = x
(其中engine = Matter.Engine.create()
)来增加每次迭代的位置计算,并使用engine.velocityIterations = y
来增加每次迭代的速度计算。默认值分别为6和4。
请注意,更改这些设置会影响性能,因此需要进行一些调整。
这些属性可以在documentation上找到。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。