Canvas drawImage with Coffeescript

时间:2012-03-30 11:28:09

标签: canvas coffeescript html5-canvas

我想在画布上绘制图像,然后为图像设置动画,就像精灵一样。我无法使用Coffeescript显示图像。我的课程缩短了我的班级;希望我没有引入错误。

class TripleSlider
  @imageMin = new Image()

  constructor: (@context, @x, @y, @tsLabel, @showLimits=false) ->

  $(TripleSlider.imageMin).onload = -> 
    @context.drawImage(TripleSlider.imageMin, @x+50, @y+50)

  TripleSlider.imageMin.src = "/images/sliderTipMin.png"

我也试过像这样编写onload处理程序:

  TripleSlider.imageMin.onload = -> 
    @context.drawImage(TripleSlider.imageMin, @x+50, @y+50)
  1. 我怀疑onload handler语法在某种程度上是不正确的。我发现的大多数例子都比所要求的要复杂得多,Coffescript文档给想象留下了很多。
  2. 我应该如何更改图像的位置?
  3. 麦克

1 个答案:

答案 0 :(得分:1)

@this不是您的onload处理程序中的TripleSlider实例,因此可能不会定义@context。这是因为javascript范围this。 Coffeescript提供了“fat arrow”,=>,正是如此:

$(TripleSlider.imageMin).onload = =>
  @context.drawImage(TripleSlider.imageMin, @x+50, @y+50)