我制作了一个游戏板,我想拖放我的作品(.gif),但是我无法找到办法做到这一点,无需重新绘制整个板子,因为我必须每次都清理一块它移动1个像素,并清除它下面的任何东西(棋盘和其他棋子)。它甚至有可能吗?移动图像在<canvas>而不重绘整个画布?
3
A
回答
6
是的,您每次都需要重绘整个板子。您可以使用
一种技术是离屏画布:
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, ...);
董事会画布是不是在屏幕上可见,但使每一次,你需要重新渲染,它会被存储在内存中呈现非常快。
相关问题
- 1. 在画布上重绘图像
- 2. 在画布上绘图以编程方式使图像移动
- 3. 如何在html5画布上绘制移动的重复图案
- 4. 在画布中以角度绘制图像而不旋转画布
- 5. HTML5画布绘制图像
- 6. JavaFX画布不是绘制图像
- 7. html画布绘制图像不工作
- 8. 在画布上绘图时的偏移
- 9. 画布 - 移动图像问题
- 10. HTML5画布图像移动闪烁
- 11. 通过HTML画布移动图像
- 12. Java重绘()使第二个画布绘图不出现
- 13. HTML 5画布图像绘画闪烁
- 14. 在画布中移动所有绘制的像素
- 15. 在画布上绘制对象/图像
- 16. 在画布中间绘制图像
- 17. 在画布上绘制背景图像
- 18. 在缩放画布上绘制图像
- 19. 在画布上绘制旋转图像
- 20. 在画布上绘制阵列图像?
- 21. 用JQuery在画布上绘制图像
- 22. 画布不是在代码中绘制图像,而是在开发人员控制台中绘制图像
- 23. 画布图像没有绘图?
- 24. 在Android中重绘画布
- 25. JavaFX移动图像动画
- 26. 在触摸事件上重绘画布上的图像?
- 27. 如何在整个屏幕上在画布上绘制位图?
- 28. 在画布内调整图像
- 29. 调整图像大小在画布上
- 30. 在Silverlight中动态地在画布上绘制图像
如果您希望生成的图形元素保持并交互,请考虑使用SVG而不是画布。 – robertc 2011-04-30 11:00:51