禁用Matter.js中特定对象的重力

时间:2016-04-06 23:18:02

标签: javascript matter.js

我正在使用Matter.js开发一个项目,我希望在一般情况下启用重力,但我希望能够在特定时间禁用并重新启用它。我不想将该对象设置为静态,因为我希望物理引擎以其他方式处理它,我只是不希望引力影响它。

我发现this question处理一般禁用引力的问题,但正如我所说,我希望引力能够适用于大多数物体。有一种简单的方法可以做到这一点吗?

6 个答案:

答案 0 :(得分:4)

这是一个简单的代码段,您可以打开/关闭以完成您要求的内容(其中<Button press="openPDF" text="Open PDF"></Button> openPDF : function(){ var URL = "https://www.sapfioritrial.com/sap/opu/odata/sap/HCM_MY_PAYSTUBS_SRV/PDFPaystubs(SEQUENCENUMBER=1694,PersonnelAssignment='00100226')/$value"; sap.m.URLHelper.redirect( URL, true ) } 是应该忽略重力的对象,而body是一个布尔值可以切换以打开和关闭它:

noGravity

答案 1 :(得分:3)

禁用内置引力然后有选择地应用你自己的引力,但只过滤你想要的物体:

const filteredSamples = this.props.loadAllInitSamples.filter(sample => {
  return sample.sampleFamily.indexOf(this.props.searchInputVal) >= 0;
});

答案 2 :(得分:0)

这似乎提供了反作用力。我不知道200来自哪里才刚刚起作用。也许发动机每周两次计算力。

playerBody.force.y = -engine.world.gravity.y / 200;

你必须每个周期运行它以保持它。

答案 3 :(得分:0)

我知道这是一个老问题,但现在你可以使用它:

body.ignoreGravity = true;

答案 4 :(得分:0)

有一个官方的工作示例

this.matter.add.image(100, 100, 'block').setIgnoreGravity(true);

ignoring gravity phaser3 matter physic

答案 5 :(得分:0)

就我而言,我希望有一个物体跟随鼠标。设置isStatic: true不会使重力生效,从而无法完全控制对象的位置。