问题标签 [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 - 如何检测我的球体是否撞击了另一个静态体
所以我在我的世界里创造了两个物体,一个球和一个平面。由于重力,球落到表面上并与之碰撞。
我以为我在正确的轨道上使用Events
,Body.isSensor()
但我似乎无法从我的事件监听器那里得到哪些身体已经碰撞,即身体名称。
草图.js
该事件被触发,但是对变量中没有任何内容。我究竟做错了什么?
同样,当我打开isSensor: true
电源时,球似乎穿过了静止的物体。
javascript - 身体在低速时不遵守反射定律
我正在尝试模拟一个球在台球桌周围弹跳并且遇到了一个问题。(视图从上方俯视桌子)。
我总是希望球根据反射定律从边界反弹。Angle of incidence = angle of reflection
在右侧边界的模拟结束时,球似乎沿着它滚动。为什么它不遵循反射定律?
javascript - 问题 JS - event.pairs 数组在碰撞时为空白
我正在使用MatterJS为画布上的一些对象设置动画。在动画的某一时刻,我的两个对象之间发生了碰撞。我使用以下代码成功检测到事件:
我要确定的是哪两个物体正在碰撞。当我 console.log event.pairs 我得到一个空数组。我原以为它会返回一个由两个正在碰撞的对象组成的数组。我哪里出错了?
javascript - 问题 JS - 无法呈现 SVG 路径
我正在使用 Matter JS,我正在尝试将我自己的 SVG 形状渲染到画布上。尽管我一直遇到错误,但在遵循他们的文档之后。这是我在网上找到的一个工作演示:
https://jsfiddle.net/gf3jLvjt/4/
您可以看到路径已正确呈现到画布上。当我尝试仅替换<path />
示例中的元素或整个元素时,<svg>
我在控制台中遇到错误。这是我使用自己的 SVG 但出现错误的示例:
https://jsfiddle.net/gf3jLvjt/6/
我最好的猜测是,这是由我保存 SVG 的格式引起的,但我不确定 a)这是正确的还是 b)我可以更改哪些设置来解决这个问题。
干杯
game-physics - 抑制 Matterjs 圆体上的旋转
我做了一堆圆圈,并通过将恢复设置为 0.3 来降低它们的弹性,但有时它们会疯狂地旋转,我想知道我应该改变什么来更快地抑制旋转。
javascript - 如何用 matter.js 连续旋转身体?
我是物理引擎的新手,但要开始我设想的项目,我需要让六边形在页面中心的固定位置连续旋转。
我想我从根本上误解了物理引擎的工作原理,但是当我调用 Matter.Body.rotate(hexagon, 1); 它只是在由提供的参数 (1) 渲染时立即旋转六边形,并且不会旋转得更远。我怎样才能让它连续旋转?
这是我的代码:
请注意,已设置 setStatic,因此六边形不会掉出框架。
javascript - 如何在 Matterjs 中更新已经渲染的 Body 的颜色
我有一个已经添加到世界上的身体。我想更新颜色。
我努力了:
我怀疑我使用了错误的方法。除非我忽略了它,否则我在文档中找不到有关如何更新它的任何内容。
javascript - Matter.js - 如何将移动和鼠标交互限制在一个轴上?
使用 Matter.js,我如何将身体的运动限制在一个轴上(即只有 X 轴)?我希望能够做到这一点,因此只能在设定的边界内水平拖动身体。
我正在尝试创建一个算盘并允许用户沿着固定的条形弹珠。把它全部放出来是好的,但我这辈子都想不出如何限制这样的运动。
我尝试在珠子上方和下方设置一个固定的主体,这在一定程度上起作用,但是当我添加 MouseConstraint 时,拖动行为完全忽略了这一点,您可以直接拖动它。
我还尝试使用 beforeUpdate 事件在每个珠子被绘制之前“重置”它的 Y 值(使用 Body.setPosition)。这种方法在一定程度上有效,但是 Y 值会重新回到对齐状态,如果有意义的话,我宁愿它根本不偏离。
有没有更好的方法来完成这项任务?也许可以告诉一个身体“粘”到另一个身体上吗?这样我就可以制作我的酒吧并将珠子粘在上面。
p5.js - p5.js 和 matter.js 命运之轮检测哪个元素在顶部
你好,我正在发财。我有动画工作,但试图弄清楚如何检测每个椭圆的位置,以便我可以检测到它何时处于 90 度并且指针指向它。我用来制造车轮的数据是一系列十六进制颜色。这是密码笔
这是构建轮子的函数
提前致谢