【问题标题】:Extending kinetic.js shape with coffescript使用咖啡脚本扩展 kinetic.js 形状
【发布时间】:2014-04-10 08:55:15
【问题描述】:

我一直在玩咖啡脚本,我想使用 Kinetic.js 来执行一些图形操作。

我真的很喜欢 coffeescripts 类,所以我想用它们来创建自定义精灵。

以下是我扩展 Kinetic.Circle 的尝试:

class Particle extends Kinetic.Circle
    constructor: (x,y,size,color) ->
        Kinetic.Circle.class @, {
            x: x
            y: y
            width: size
            height: size
            fill: color
        }

请注意,我没有按照this 问题中的建议在构造函数中使用“super”。

调用构造函数时抛出以下错误:

Uncaught TypeError: Object function (a){this.___init(a)} has no method 'class' 

...在生成的javascript中:

  Particle = (function(_super) {
    __extends(Particle, _super);

    function Particle(x, y, size, color) {
      Kinetic.Circle["class"](this, {
        x: x,
        y: y,
        width: size,
        height: size,
        fill: color
      });
    }

    return Particle;

  })(Kinetic.Circle);

是否可以在不使用太多暴力的情况下以咖啡脚本风格扩展 Kinetic 形状?

【问题讨论】:

  • Kinetic.Circle 没有静态的.class() 方法,你从哪里得到的?看起来应该是Kinetic.Circle.call
  • 我从链接的问题中得到它,尝试了你的建议,它奏效了!将其添加为答案,我会接受:)

标签: javascript coffeescript kineticjs


【解决方案1】:

Kinetic.Circle 没有静态 .class() 方法,我不知道你从哪里得到它。

看起来应该是Kinetic.Circle.call

class Particle extends Kinetic.Circle
  constructor: (x, y, size, color) ->
    Kinetic.Circle.call @,
      x: x
      y: y
      width: size
      height: size
      fill: color

这正是链接问题中建议的内容。

【讨论】:

  • 嗯,我猜这只是我的愚蠢。谢谢!
猜你喜欢
  • 1970-01-01
  • 2013-10-30
  • 2012-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-09
  • 2012-06-19
  • 1970-01-01
相关资源
最近更新 更多