Javascript HTML5画布拼接图

Javascript HTML5画布拼接图,javascript,html,canvas,Javascript,Html,Canvas,有点像我有tileset- 我的绘图代码是- 但是如何做一些类似的事情-drawTile(x,y,tile,width,height) 现在需要在平铺上设置tileX和tileY,但是如何只设置一个平铺并从所有平铺集中绘制平铺 比如现在需要tileX=3,tileY=1,但我需要-tile=8并绘制相同的瓷砖。 'http://flashpunk.net/img/tut/swordguyframes.png 如何做类似的事情 感谢您的帮助,并为我糟糕的英语语言感到抱歉。您知道一行有6个瓷砖,因此

有点像我有tileset-

我的绘图代码是-

但是如何做一些类似的事情-drawTile(x,y,tile,width,height)

现在需要在平铺上设置tileX和tileY,但是如何只设置一个平铺并从所有平铺集中绘制平铺

比如现在需要tileX=3,tileY=1,但我需要-tile=8并绘制相同的瓷砖。 'http://flashpunk.net/img/tut/swordguyframes.png

如何做类似的事情


感谢您的帮助,并为我糟糕的英语语言感到抱歉。

您知道一行有6个瓷砖,因此您可以这样做:

var drawTile = function(x, y, tile, width, height) {
    context.drawImage(image, (tile % 6) * width, Math.floor(tile / 6) * height, width, height, x, y, width, height);
};
因此,传入
6
将转到第二行的第一个磁贴,以此类推

下面是一个示例,它在所有瓷砖中循环:


非常感谢西蒙!但我还有一个问题。如何计算我的瓷砖集中有多少瓷砖?你只要数一数就可以了。或者,如果您知道每个瓷砖的高度/宽度以及大小,您可以分割。例如,swordguy.png宽288像素,瓷砖宽48像素,如果(i>11)i=6,则288/48=6;