【发布时间】:2017-01-04 07:44:04
【问题描述】:
我已经阅读了有关滚动的所有内容:
Structuring an HTML5 Canvas/JS Game
等等:
- HTML5 Canvas tutorial
- The secret to silky smooth JavaScript animation
- Google search "HTML5 Scrolling"
- Canvas Games
- Build a vertical scrolling shooter game with HTML5 canvas
- Math mayem
- CAAT JavaScript framework
(最新的一个令人印象深刻,但即使几乎所有内容都完成了,也没有任何关于滚动的内容。
这就是我的想法,我没有发现任何有价值的东西。一个想法刚刚出现在我的脑海中,我想知道我是否应该花很多时间思考并尝试,或者不(这就是我实际上在这里问的原因)。
我打算做一个带有滚动“à la”马里奥的游戏。
滚动的最大缺点是您必须重新绘制整个背景。 我已经避免了精灵/滚动的两个性能问题:创建两个画布彼此重叠:
- 背景
- 精灵
然后只是擦除精灵。
问题与背景有关:我正在将背景的完整副本复制到“可见”画布上。 (注意:闪烁没有问题,因为用 JavaScript 编写是一个阻塞操作,所有现代浏览器都处理垂直同步,所以不需要双缓冲)。
这是我所写内容的旧版本,但您会了解全局:
现在我想知道滚动:如果我使用适当的 CSS(背景图像作为背景)做一个“背景 div”而不是画布,然后直接在图像上写入图块,然后更改 CSS模拟滚动?它应该更快吗?如果是这样,为什么?有什么好主意吗?
【问题讨论】:
标签: html canvas scroll game-engine