【问题标题】:Canvas Drawing Effect画布绘制效果
【发布时间】:2012-05-04 03:33:54
【问题描述】:

我开始编写一些从简单到复杂的画布脚本。我想画一个圆圈。这很简单。问题是圆圈是立即绘制的。如果我想让圆圈慢慢变大怎么办(让我们说从一条垂直线到一个半圆,到一个半圆,再到一个完整的圆)画布中有什么方法可以做到这一点(本机)还是我需要做一个可以(快速)建立和删除几个圆圈来模拟效果的函数?

如果后者是真的,我应该注意哪些性能问题?

谢谢!

【问题讨论】:

  • 您的问题有些混乱。半圆就是半圆。绘制一系列圆不会产生从直线延伸的圆的效果。
  • 对不起,我的意思是四分之一圈。所以线到四分之一圆,到半圆,到 3/4 圆,到整圆。

标签: html html5-canvas


【解决方案1】:

使用画布的任何形式的动画都需要清除画布并制作序列中的下一个绘图。 Mozilla 开发网络有一个很好的关于画布和画布动画的教程。

【讨论】:

    【解决方案2】:

    查看animate.js 库。它正是您所需要的。用法同jQueryUI。

    你需要的可以通过下面这段代码来完成:

    canvas_element.animateCircle(x,y,r);
    

    还有其他可选参数,例如animateCircle(x,y,r,{'lineWidth':5, 'lineColour':'red', 'stop': function() {alert('completed');}}) 和其他一些功能。详情请查看自述文件。

    【讨论】:

    • 非常好的库 gopi!只有一件事,如果可能的话... Canvas bezierCurveTo() 方法来制作动画。我认为,Start Point(moveto Method) 参数也应该包含在您的新函数“animateBezier”中......?
    • @Sergej 当然,我很乐意在有时间的时候这样做。并且随时欢迎您在 github github.com/gopi1410/AnimateJs 发送拉取请求
    猜你喜欢
    • 2011-03-30
    • 1970-01-01
    • 2011-07-12
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    • 1970-01-01
    • 2013-05-13
    相关资源
    最近更新 更多