代码之家  ›  专栏  ›  技术社区  ›  nicholaswmin

Paper.js段未定义

  •  3
  • nicholaswmin  · 技术社区  · 11 年前

    我正在修改我找到的浏览器中的CAD应用程序,并尝试添加一些“添加新段”功能。这意味着用户可以单击预先存在的曲线并在其中添加线段。

    它使用 Paper.j s作为画布库。

    我找到的应用程序如下: https://github.com/memononen/stylii

    这是定义功能的代码段:

    } else if (this.mode == 'insert') {
            if (this.hitResult != null) {
                var location = this.hitResult.location;
    
                var values = location.curve.getValues();
                var isLinear = location.curve.isLinear();
                var parts = paper.Curve.subdivide(values, location.parameter);
                var left = parts[0];
                var right = parts[1];
    
                var x = left[6], y = left[7];
                var segment = new Segment(new paper.Point(x, y),
                    !isLinear && new paper.Point(left[4] - x, left[5] - y),
                    !isLinear && new paper.Point(right[2] - x, right[3] - y));
    
                var seg = this.hitResult.item.insert(location.index + 1, segment);
    
                if (!isLinear) {
                    seg.previous.handleOut.set(left[2] - left[0], left[3] - left[1]);
                    seg.next.handleIn.set(right[4] - right[6], right[5] - right[7]);
                }
    
                deselectAllPoints();
                seg.selected = true;
    
                this.hitResult = null;
            }
    

    似乎当我尝试使用这个功能时,我一直在Chrome Canary中看到“Segment is not defined”,但FF都不起作用。

    这个 Paper Styli使用的版本:v0.9.15

    1 回复  |  直到 11 年前
        1
  •  2
  •   nicholaswmin    11 年前

    我应该在JS文件中预先定义段,方法如下:

    var Base = paper.Base,
    Segment = paper.segment;