如何解决滚动非圆形对象Matter.js
我对Matter.js很陌生,因此如果答案很明显,请原谅我。
我正在尝试将一个物体旋转到另一个(静态)物体的顶部,并使它沿着该表面滚动。
我需要一些与汽车演示类似的东西,但我需要使侧倾加速度为零。即循环的每次迭代我都应该能够设置旋转量并使主体旋转那么多。 我还需要使用它才能处理非椭圆体。
我有一些代码可以使身体旋转,但是我正在努力使身体根据其旋转方向在表面上滚动。
任何帮助将不胜感激,请在下面查看我当前的代码。
// module aliases
var Engine = Matter.Engine,Render = Matter.Render,World = Matter.World,Bodies = Matter.Bodies,Body = Matter.Body;
// create an engine
var engine = Engine.create();
// create a renderer
var render = Render.create({
element: document.body,engine: engine
});
var BoxA = Bodies.rectangle(400,200,80,80);
var ground = Bodies.rectangle(400,610,810,60,{ isstatic: true });
// add all of the bodies to the world
World.add(engine.world,[BoxA,ground]);
// run the renderer
Render.run(render);
engine.world.gravity = {x: 0,y:0,scale: 0}; //disable gravity
window.setInterval(function () {
Body.rotate(BoxA,0.01);
Body.translate(BoxA,{ x: 0,y: 10 });
Engine.update(engine,1000 / 60);
},1000 / 60)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。