2012-04-23 105 views
0

我開始從一些簡單到複雜的畫布腳本。我想畫一個圓圈。這很容易。問題是圓圈馬上被吸引。如果我想讓這個圓圈慢慢增長(讓我們從垂直線,半圓,半圓,到一個整圓)如果我想讓這個(在本地)做或者我需要做一個函數,建立和刪除幾個圈(快速)來模擬效果?畫布繪製效果

如果後者是真的,是否有任何類型的性能命中我應該尋找?

謝謝!

+0

你的問題有些混亂。半圈是半圈。畫一個圓的圈不會產生從一條直線生長的圓的效果。 – jing3142 2012-04-23 15:53:14

+0

對不起,我是指四分之一圈。所以直線到四分之一圈,到半圈,到3/4圈,到整圈。 – Kovo 2012-04-23 17:25:34

回答

1

使用畫布的任何形式的動畫都需要清除畫布,並且要創建序列中的下一個圖形。 Mozilla開發網絡有關於畫布和畫布動畫的很好的教程。

1

查看animate.js庫。它正是你需要的。用法與jQueryUI相同。

你需要什麼可以通過下面的一段代碼來完成:

canvas_element.animateCircle(x,y,r); 

有喜歡animateCircle(x,y,r,{'lineWidth':5, 'lineColour':'red', 'stop': function() {alert('completed');}}) &一些其他功能的其他可選參數。查看自述文件以獲取詳細信息。

+0

很好的圖書館gopi!只有一件事,如果可能的話... Canvas bezierCurveTo()方法來動畫。我認爲,開始點(moveto方法)參數也應該包含到你的新函數'animateBezier'..? – Sers 2012-08-26 22:44:07

+0

@Sergej當然,當我獲得時間時,我很樂意這樣做。隨時歡迎您通過github https://github.com/gopi1410/AnimateJs發送pull請求 – gopi1410 2012-08-27 05:50:33