为什么在HTML5中使用画布进行动画制作?

8

我是html5的新手,一直在研究canvas。我想知道什么时候使用canvas才是必要或者有用的?换句话说,它什么时候应该被使用?

如果我只需要简单的动画效果,例如移动标签,是不是真的需要使用canvas呢?还是使用jquery/js更好/更容易?

3个回答

4
通过Canvas,您可以创建2D图形应用程序、动画、简单的图像转换(如旋转图像)、GUI等。以下是一些例子:
  1. Asteroids游戏
  2. 拼图游戏
  3. 关于GUI,不幸的是我无法加载一个站点,不知道为什么……它叫做iWidgets.com,我找到的唯一一件事是一个屏幕截图。你可以看到蓝色的管道,它们绑定元素。这是通过Canvas完成的;移动元素时,管道也会重新绘制;当您更改活动元素时,所有连接的颜色都会变成黄色(因此您可以看到依赖项)。很好的项目,希望它不仅仅是暂时无法访问...

有关如何使用它的好文章在这里

来自"深入了解HTML5 Canvas元素":

Canvas元素非常有趣和值得关注,因为它首次在浏览器中实现了直接绘制图形的功能,而无需像Flash或Java这样的外部插件。 Canvas的美妙之处在于它完全通过简单的JavaScript代码进行控制,这意味着它建立在JavaScript已经提供的强大功能之上,不需要疯狂的学习曲线来使用。

选择尝试Canvas而不是其他新元素仅仅是因为它作为一个图形平台的功能,这本质上使它成为一个潜在有趣和丰富的平台。决定推动灵活的Canvas元素将产生我们可以在应用程序中使用的最有趣的结果。

选择Canvas的另一个决定因素是测试动画能力以及它成为可能的Flash替代品的可能性。现在,Flash显然具有Canvas永远无法模拟的功能,但是看到可以通过Canvas实现通常需要使用Flash的内容,这仍然是一个令人兴奋的概念。

阅读该文章以获取更多有用信息

附:如果您的动画是关于标签移动(如页面的某些部分),则Canvas不适用。Canvas用于图形渲染。因此,在这种情况下,您将使用jQuery或其他JS库。


2
以下是关于何时使用CSS3转换/动画或Canvas的最佳实践。请注意,如果您正在使用jQuery,则在可能的情况下,它们将使用CSS3转换或动画。
- CSS3转换/动画——如果您要动画化DOM元素样式,例如位置和大小,请使用这些。 - Canvas动画——如果您要动画化更复杂的内容,比如创建在线游戏或构建物理模拟器,请使用Canvas动画。如果您要动画化三维模型,一定要使用Canvas,以便利用WebGL技术。

1

Canvas 可以让你访问图形的像素级别。如果你想要做一个棋盘过渡效果,你可以在 Canvas 中使用脚本来实现,但在 jQuery 中则不行。

关于可能性的一些例子(已经完成)请参见 http://www.netzgesta.de/transm/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接