禁用Matter.js中的重力

29

有没有办法在Matter.js中禁用重力?我希望我的物体(刚体)保留其物理特性(如对碰撞的反应、恢复、摩擦等),但我想防止设备陀螺仪和方向变化引起的反应。

3个回答

70

尝试

engine.world.gravity.y = 0;

其中engine是您的引擎实例。


3
这是正确答案,应该标记为正确。 - forgivenson
作为参考,这里是重力属性的官方文档:https://brm.io/matter-js/docs/classes/World.html#property_gravity - Michael Kargl
1
这已经被废弃,并被 engine.gravity.y = 0 取代 自 v0.17.0 起。新文档位置:https://brm.io/matter-js/docs/classes/Engine.html#property_gravity - Eron Salling

2
您只需要将以下内容添加到您的配置文件中:
physics: {
    default: "matter",
    matter: {
        gravity: {x: 0, y: 0},
        // ^^^^^^^^^^^^^^^^^^^
    }
}

1

你也可以在 Engine 构造函数中设置它:

const engine = Engine.create({ gravity: { y: 0 } })

和其他属性一样。通过修改这个hello world在Matter.js 0.19.0上进行了测试:如何使matter.js的最小示例工作?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接