我将paperjs图形对象库与Amber Smalltalk一起使用。

我想将Point对象的以下Javascript构造函数转换为Amber Smalltalk

paper.Point(x, y)
paper.Point(array)
paper.Point(object)
paper.Point(size)
paper.Point(point)

以下Smalltalk
paper Point new inspect

给出一点
{ x: 0, y: 0 }

在Amber工作区中构造一个数组
#(100 100)

打印是
 an Array (100 100)

然而
 paper Point value: #(100 100)

结果为nil。

问题

如何将paper.Point(array)构造函数从JavaScript转换为Amber以及其他构造函数?

引用
  • http://paperjs.org/reference/point/
  • https://github.com/amber-smalltalk/amber/wiki/Wrapping-javascript-constructors-recipe
  • 到目前为止的翻译代码
  • Demo(还包含fabricjs和svg.js示例)
  • 最佳答案

    相当于new paper.Paper(100,100)(JavaScript)的Amber Smalltalk是

    paper Point newValue: 100 value: 100
    

    这给
     { x: 100, y: 100 }
    

    引用

    https://github.com/amber-smalltalk/amber/wiki/Call-javascript-constructors-with-arguments

    10-06 04:25