我已经制作了一个游戏板,我想拖放我的碎片(.gif's)但我无法找到一种方法来做到这一点,而不必无休止地重新绘制整个棋盘,因为我必须每个都清除一块时间它移动1个像素,并清除它下面的任何东西(板和其他部分)。它甚至可能吗?
答案 0 :(得分:7)
是的,您每次都需要重新绘制整个电路板。
您可以使用的一种技术是屏幕外画布:
var board = document.createElement("canvas");
board.width = width;
board.height = height;
var boardContext = board.getContext("2d");
// rendering code for board
// ...
// now draw board onto main canvas
var context = mainCanvas.getContext("2d");
context.drawImage(board, ...);
电路板画布在屏幕上不可见,但它将存储在内存中,这样每次需要重新渲染时,它都会很快渲染。