标签: matterjs

2D软体:Gelly和可塑?

我正在使用Matter.js物理来创建柔体.我能够创建这样的身体:

thing.js柔软的身体

但是我不确定这是否是我想要的"软体".确实,这个身体并不是完全僵硬的,并且当它碰撞并被拖拽时具有那种有弹性的感觉.我正在寻找一个与凝胶有相似之处的身体.此图像可能在视觉上有助于解释概念:

想-胶状体

我想知道如何制作这些类型的尸体.它与as matter.js软体相同,但具有非常特殊的属性类型吗?我只能让身体变得僵硬,而不是像我希望的那样可塑造和圆形.

我也很有兴趣通过游戏中的相互作用操纵物理体,这会增加或减少物理体的大小,这使我再次得出结论,我想要的身体类型必须是相当可塑的.

may.js可以处理这个还是我必须更改物理引擎?任何接近这个的解决方案?

注意:我使用Phaser.js作为一些游戏中的组件,但是物理操作的物理问题是物理操作,因为我相信Phaser集成的物理学不能模拟这种类型的复杂体.

谢谢

编辑:它非常类似于这个Box2d:滚动软体球.我想我只需要使用js引擎.有没有?

javascript physics game-physics phaser-framework matterjs

14
推荐指数
1
解决办法
888
查看次数

在matterjs中更改默认画布大小

我正在尝试覆盖设置为的默认画布大小: 800x600

经过一些挖掘文档,我发现:

Matter.Render.create([options])
Run Code Online (Sandbox Code Playgroud)

看起来很有趣的选项是:render.options.heightrender.options.width.

我该如何正确使用它们?

我尝试过的:

(function(){
    //this is the correct reference
    var canvas = document.getElementById('canvas');
    var renderer = Matter.Render.create({
        canvas: canvas,
        height: 1000,
        width: 1000
    });
})()
Run Code Online (Sandbox Code Playgroud)

警告我得到:

[问题]警告:没有传递"render.element","render.canvas"没有插入到文档中.

根据文档:

render.element HTMLElement

对要插入画布的元素的引用(如果尚未指定render.canvas)

javascript matterjs

7
推荐指数
1
解决办法
3752
查看次数

JavaScript,Matter.js:禁用一个主体的冲突

正如标题中已经提到的,我正在寻找一种方法,以禁用Matter.js中身体的每次碰撞.它仍然可以与Constraints链接,并且应该有可能在一段时间后再次启用碰撞.有没有办法做到这一点?关于它的难点在于,对象不应该与任何其他对象碰撞,但所有其他对象应该相互碰撞.

javascript matterjs

6
推荐指数
3
解决办法
3552
查看次数

Matter.js精灵大小

我正在使用matter.js进行物理模拟.

我的问题是,是否可以改变精灵大小?或者仅使用matter.js是不可能的?

这是我到目前为止:

Bodies.circle(x, y, 46, {
  render: {
    sprite: {
      texture: 'images/stone.png'
      //Is there a 'width:' or 'height' property?  
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

javascript sprite matterjs

4
推荐指数
1
解决办法
3007
查看次数

阶段3:物质物理学检测碰撞

我正在尝试检测两个对象何时相互碰撞,但是我不确定该怎么做。

我有以下场景,该场景向场景中添加了两个物理图像。我只需要一种方法来检测两者何时发生碰撞。

export class MainGame extends Scene {
  public create() {
    // Create the player
    this.player = this.matter.add.image(300, 100, 'player')

    // Create a pillar
    let pillar = this.matter.add.image(500, 0, 'pillar1', null, { isStatic: true })

    // Somehow detect collision between the two...
  }
}
Run Code Online (Sandbox Code Playgroud)

我无法确定的是如何检测玩家何时撞到支柱。我所寻找的一切都是如何使用街机物理学来实现的,但是我正在使用物质物理学。

我找不到有关如何检测碰撞然后运行函数的任何信息。

javascript phaser-framework matterjs

4
推荐指数
1
解决办法
1765
查看次数