我正在尝试将游戏移至Matter.js,我遇到的一个大问题是将具有较大路径的旧SVG图像放入游戏中。
我只需要手工完全重做一次,但是路径太大,要花几个小时。我认为,如果可以在Matter.js中将SVG图像转换为SVG对象,会容易得多。
那么有没有简单的方法可以做到这一点?
答案 0 :(得分:0)
作为一种选择,您可以使用svg path polyfill之类的东西将SVG解析为coords数组。
下面是我的本机代码段。如果您使用DOM,则会更加准确。
fetchResource(svg1File)
.then((svgString) => this.toXML(svgString))
.then(xml => this.extractPaths(xml))
.then(svgPaths => this.toCoords(svgPaths))
.then(vertexSets => {
//then for each vertex set
//Matter.Bodies.fromVertices(width / 2, (i + 1) * 100, vertexSets[i], {
})