为什么在matter.js中需要这个角色?

时间:2016-02-16 11:03:21

标签: javascript physics-engine matterjs

我正在尝试将matter.js移植到另一种语言。 Javascript不是我最强的语言。

该函数假设解析包含由空格(以及可选的逗号)分隔的有序x y对的字符串到特定对象中:

 * @method fromPath
 * @param {string} path
 * @param {body} body
 * @return {vertices} vertices
 */
Vertices.fromPath = function(path, body) {
    var pathPattern = /L?\s*([\-\d\.e]+)[\s,]*([\-\d\.e]+)*/ig,
        points = [];

    path.replace(pathPattern, function(match, x, y) {
        points.push({ x: parseFloat(x), y: parseFloat(y) });
    });

    return Vertices.create(points, body);
};

稍后,调用此函数,将以下字符串传递给Vertices.fromPath:

vertices: Vertices.fromPath('L 0 0 L ' + width + ' 0 L ' + width + ' ' + height + ' L 0 ' + height)

widthheight是数字。 L字符的目的是什么?我认为该方法应该将逗号或空格分隔为x,y对分为数字,因此我无法弄清楚L字符的相关性。

任何人都可以启发我吗?

1 个答案:

答案 0 :(得分:3)

L是“Line To”命令。请参阅SVG路径语法(MDNspec),其中.js可以接受作为路径规范。