问题标签 [matter.js]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 在 Matter.js 中禁用特定对象的重力
我正在使用 Matter.js 开发一个项目,我希望一般启用重力,但我希望能够在特定时间为单个对象禁用和重新启用它。我不想将该对象设置为静态,因为我希望物理引擎以其他方式处理它,我只是不希望重力影响它。
我发现这个问题通常涉及禁用重力,但正如我所说,我希望重力适用于大多数物体。有没有一种简单的方法可以做到这一点?
javascript - Matter.js 主体不围绕其中心旋转
我正在使用 Matter.js,我在很多方面都在苦苦挣扎,因为在文档中很难找到任何东西。
我想知道的最重要的事情是如何制作这个身体:
不绕其中心旋转。我希望这个身体是带有帧动画的角色精灵,我只希望它能够跳跃和向左或向右移动,但如果它碰到边缘或者如果它做了任何会使它倾斜的事情,它就不会倾斜。
javascript - MatterJS 静态角度
是否可以“锁定” MatterJS 主体的角度,使其永远不会改变,即使碰撞通常会导致它发生变化。我不介意它是否能够手动更改,我只是不希望碰撞、摩擦或速度影响它。
matter.js - 在 Matter.js 中旋转相机
我正在开发一个基于物理的自上而下的太空游戏。我希望视图的旋转始终显示玩家的船朝上,即使船可以旋转。我搜索了文档,但没有找到任何关于旋转世界或渲染器的信息,但我可能不知道要查找的正确术语。这甚至可以使用 matte.js 吗?
javascript - MatterJS 移除对象功能
我在一个小项目上使用 matter.js,尝试使用 js 函数从 mattejs 世界中添加和删除对象。
add 函数似乎有效,remove 方法仅在添加函数内部有效-
控制台显示删除函数的错误“无法读取未定义的属性‘类型’”。有人可以告诉我如何解决这个问题吗?任何帮助和建议都将是非常可观的。
javascript - 2D 软体:凝胶和可塑?
我正在使用 Matter.js 物理来尝试创建软体。我能够创建一个像这样的身体:
但是我不确定这是否是我想要的“柔软的身体”。确实,这个身体并不完全是刚性的,当它碰撞和被拖拽时会有那种有弹性的感觉。我一直在寻找与凝胶有相似之处的身体。这张图片可能在视觉上有助于解释这个概念:
我想知道如何制作这些类型的身体。它是否与 as matter.js 软体相同,但具有非常特定类型的属性?我只能让身体成为一种刚性方形,而不是像我希望的那样可塑和圆形。
我还对通过游戏中的交互操作物理体很感兴趣,这会增加或减小物理体的大小,这让我再次得出结论,我想要的身体类型必须是完全可塑的。
matter.js 可以处理这个问题还是我必须更改物理引擎?任何解决方案来解决这个问题?
注意:我将 Phaser.js 用于一些游戏内组件,但使用 matte.js 物理进行物理操作,因为我相信 Phaser 集成物理无法模拟这种类型的复杂体。
谢谢
编辑:它与这个Box2d :roll soft body ball非常相似。我猜我只需要使用 js 引擎来做到这一点。有没有?
matter.js - 在 Matter.js 中触发鼠标/触摸事件
如何在 Matter.js 中添加以编程方式触发的触摸/鼠标事件?我为引擎设置了一些碰撞事件,但无法触发停止当前拖动操作的 mouseup 事件。我尝试了针对画布元素、鼠标/鼠标约束和非静态主体的各种组合。
javascript - 事情。js检查身体是否停止移动
我正在使用物质。js创建一个2d场景。我在场景中的一个物体上施加了一个力,这个物体撞击了其他物体,但最终所有物体由于摩擦和能量损失而停止移动。
不知何故,我需要检测场景中的所有物体何时停止移动。我发现这样做很困难,因为在浏览了文档后,我没有找到内置的方法来为我进行检查。我还尝试遍历场景中的身体并检查一些我认为可以确定对象是移动还是静止的属性,这让我无处可去。
有谁知道检查场景中所有尸体是否不再移动的干净方法?
javascript - Matter.js 禁用不同组合之间的碰撞
我正在尝试使用“Matter.js body documentation”中描述的碰撞过滤。但是,对于我的项目,我需要禁用不同复合对象之间的碰撞。所以只有在同一个复合体中的物体才会发生碰撞。我计划拥有超过 32 个 Composites(32 是 Matter.js 提供的最大碰撞类别数量)。我将如何实现这一目标?
这样我就可以禁用复合材料之间的碰撞,但这也禁用了复合材料“内部”的碰撞。我可以用collisionFilter.category
系统做到这一点,但如何处理超过 32 个复合材料?
javascript - 壁纸上的可拖动精灵
我正在尝试复制这样的内容: http: //carbure.co/。
经过检查,该网站使用了一个物理引擎matter.js。下面是一个(失败的)代码尝试,鉴于糟糕的文档,我无法让它工作。
有谁知道我还能如何实现这一目标?
非常感谢