0

我正在使用 Matter JS,我正在尝试将我自己的 SVG 形状渲染到画布上。尽管我一直遇到错误,但在遵循他们的文档之后。这是我在网上找到的一个工作演示:

https://jsfiddle.net/gf3jLvjt/4/

您可以看到路径已正确呈现到画布上。当我尝试仅替换<path />示例中的元素或整个元素时,<svg>我在控制台中遇到错误。这是我使用自己的 SVG 但出现错误的示例:

https://jsfiddle.net/gf3jLvjt/6/

我最好的猜测是,这是由我保存 SVG 的格式引起的,但我不确定 a)这是正确的还是 b)我可以更改哪些设置来解决这个问题。

干杯

4

1 回答 1

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 = ...) 未定义。

不幸的是,我还不确定如何修复您的代码。

于 2017-11-01T18:36:28.577 回答