我正在尝试将 matter.js 移植到另一种语言。Javascript 不是我最擅长的语言。
该函数应该将包含由空格(以及可选的逗号)分隔的有序 xy 对的字符串解析为特定对象:
* @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)
哪里width
和height
是数字。角色的目的是什么L
?我认为该方法应该将逗号或空格分隔的 x,y 对拆分为数字,因此我无法弄清楚字符的相关性L
。
有人可以启发我吗?