0

我正在尝试通过 js.dart 将 paper.js 与 Dart 一起使用。

很多似乎都有效,但我也需要importSVGpaper.js 中的方法。当我尝试访问它时,js.context.paper.project.importSVG(query("#svg"));我得到NoSuchMethodError. 不知何故,因为该方法被注入到项目中——请参见下面的 paper.js 中的代码。

如何importSVG从 Dart 访问该方法?

/* paper.js */
new function() {
    function importSVG(node, clearDefs) {
            // ...
    }

    Item.inject(/** @lends Item# */{
            /**
             * Converts the passed node node into a Paper.js item and adds it to the
             * children of this item.
             *
             * @param {SVGSVGElement} node the SVG DOM node to convert
             * @return {Item} the converted Paper.js item
             */
            importSVG: function(node) {
                    return this.addChild(importSVG(node, true));
            }
    });

    Project.inject(/** @lends Project# */{
            /**
             * Converts the passed node node into a Paper.js item and adds it to the
             * active layer of this project.
             *
             * @param {SVGSVGElement} node the SVG DOM node to convert
             * @return {Item} the converted Paper.js item
             */
            importSVG: function(node) {
                    this.activate();
                    return importSVG(node, true);
            }
    });
};
4

2 回答 2

0

这很奇怪。你能告诉我你使用的是什么版本的库吗?它应该在顶部的评论中以及在 paper.version 变量中说明这一点。

于 2013-06-28T23:21:49.180 回答
0

Your Dart call seems correct. The comments on the question tend to show that there's a problem with the javascript import/declaration of paper.project.importSVG.

于 2013-06-24T13:32:53.000 回答