Canvas drawImage с помощью Coffeescript - PullRequest
0 голосов
/ 30 марта 2012

Я хочу нарисовать изображение на холсте, а затем анимировать изображение, как спрайт.У меня проблемы с отображением изображения с помощью 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"

Я также пытался написать обработчик загрузки так:

  TripleSlider.imageMin.onload = -> 
    @context.drawImage(TripleSlider.imageMin, @x+50, @y+50)
  1. Я подозреваю, что синтаксис обработчика загрузки как-то неверен.Большинство примеров, которые я нашел, были намного более сложными, чем требуется, и документы Coffescript оставляют многое для воображения.
  2. Как мне изменить положение изображения?

Mike

1 Ответ

1 голос
/ 30 марта 2012

@, или this, не является вашим TripleSlider экземпляром в вашем обработчике загрузки, поэтому @context, вероятно, не будет определен.Это из-за того, как javascript ограничивает this.Coffeescript предоставляет " жирная стрелка ", =>, именно для этого:

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