微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何防止快速移动的对象通过something.js中的其他对象?

如何解决如何防止快速移动的对象通过something.js中的其他对象?

找到答案了吗? 有谁知道如何解决这个问题? 我当时在上网,但似乎没有解决方案。 我发现的唯一东西是旧的未完成的提案。

如果身体开始移动太快或超出范围,我试图停止它:

var frame = () => {

    if(condition){
        this.Body.applyForce(body,position,force);
    }   

    window.requestAnimationFrame(frame);
}

frame();

但是我不知道有多少力量来阻止它。我试图将速度用作反作用力,但是没有适当的位置参数值,我无法成功。

在哪里可以从中获得正确的反作用力值,正确应用位置参数的值将是什么?

以及如何在与某些物体(如墙)的碰撞中施加反作用力? 在与墙壁碰撞时施加反力也有意义吗?通过墙壁的物体甚至会与它们碰撞吗?

亲切的问候, 斯拉维克

解决方法

您最好的选择是:

  1. 增加碰撞对象的大小。

  1. 使用engine.positionIterations = x(其中engine = Matter.Engine.create())来增加每次迭代的位置计算,并使用engine.velocityIterations = y来增加每次迭代的速度计算。默认值分别为6和4。

请注意,更改这些设置会影响性能,因此需要进行一些调整。

这些属性可以在documentation上找到。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。