我的画布有问题createPattern
。我有两个框,按下键箭头后都会移动:
示例:http: //jsfiddle.net/wA73R/1/
问题是 createPattern 填充的框背景也在移动。如何避免这种情况?有什么解决办法吗?大盒子只是一个例子(drawImage
对我来说不是一个好的解决方案,我需要一些可以重复背景图像的东西)。
谢谢你的帮助
我的画布有问题createPattern
。我有两个框,按下键箭头后都会移动:
示例:http: //jsfiddle.net/wA73R/1/
问题是 createPattern 填充的框背景也在移动。如何避免这种情况?有什么解决办法吗?大盒子只是一个例子(drawImage
对我来说不是一个好的解决方案,我需要一些可以重复背景图像的东西)。
谢谢你的帮助
问题是 createPattern 填充的框背景也在移动。
实际上,您的问题是背景没有移动 - 它是静态的,而您正在将矩形绘制到不同的位置。
如何避免这种情况?
图案将始终在坐标原点绘制,其实际位置由当前变换定义。将来您将能够使用该setTransform
方法转换模式本身,但由于目前尚未在任何地方实现,您将不得不更改全局转换矩阵。
在您的情况下,这意味着,不是在x
/处绘制矩形,而是y
将整个上下文转换为x
/并在/然后y
绘制矩形:0
0
ctx.fillStyle=pattern;
ctx.save();
ctx.translate(boxes[i].x - left , boxes[i].y);
ctx.fillRect(0, 0, boxes[i].width, boxes[i].height);
ctx.restore();
(更新的演示)