我正在使用Matter JS,我正在尝试将自己的SVG形状渲染到画布上。在遵循他们的文档后,我仍然遇到错误。这是我在网上找到的一个工作演示:
https://jsfiddle.net/gf3jLvjt/4/
您可以看到路径已正确呈现到画布。当我尝试替换示例中的<path />
元素或整个<svg>
时,我在控制台中出现错误。以下是我使用自己的SVG但出现错误的示例:
https://jsfiddle.net/gf3jLvjt/6/
我最好的猜测是,这是由于我正在保存SVG的格式,但我不确定a)这是否正确或b)我可以更改哪些设置来修复此问题。
干杯
答案 0 :(得分:0)
我是Matter.js
的新用户,但您的代码中的问题似乎是您没有正确使用Bodies.fromVertices
。
let body = Bodies.fromVertices(100 * i + 300, 200 + i * 30, vertexSets, {
isStatic: false,
}, true, 0.01, 30);
文档要求的是向量而不是顶点。
Matter.Bodies.fromVertices(x, y, [[vector]], [options], [flagInternal=false], [removeCollinear=0.01], [minimumArea=10])
]
http://brm.io/matter-js/docs/classes/Bodies.html
这会导致body
(let body = ...
)未定义。
不幸的是,我还不确定如何修复您的代码。