1

我需要将一些简单的 SVG 集合导入到画布上并在我做动画后制作动画,请帮我解决。

// var obj;

fabric.loadSVGFromURL('../img/cars/car'+(i+1)+'.svg', function (objects, options) {

    var obj = fabric.util.groupSVGElements(objects, options);
    obj.setOptions({
        //selectable:false,
        originX:'left',
        originY:'bottom',
        top:ch,
        left:100*i
    });
    can.add(obj).renderAll();;
});
console.log(obj); // EMPTY RESULT OUTSIDE loadSVGFromURL SCOPE
4

1 回答 1

3

fabric.loadSVGFromURL是异步的。您的控制台输出在fabric.loadSVGFromURL准备好之前正在运行。在 loadSVGFromURL 中调用console.log(obj);(在 can.add(obj).renderAll(); 之后)它应该可以工作。

于 2013-08-12T12:14:56.930 回答