this.ctx.drawImage(this.sprites.pic[1], 30, 40); //работает
for (var i = 0; i<3; i++) this.ctx.drawImage(this.sprites.pic[i], (i + 1) * 30, 40); // не работает
pic это массив. Если вместо i указать число, то код работает. Если мы хотим в цикле подставлять i, то выходит ошибка:
TypeError: Argument 1 of CanvasRenderingContext2D.drawImage could not be converted to any of: HTMLImageElement, SVGImageElement, HTMLCanvasElement, HTMLVideoElement, ImageBitmap.