2012-10-04 35 views
0

我們都知道如何在Processing中畫一條線。如何在Processing中實現DRAWING處理?

但是當我們畫一條線時,這條線立即顯示出來。

如果我想見證繪畫過程,即看到前進的線條,逐漸完成一整條線,該怎麼辦。

下面是我想要實現的:繪製幾條線和曲線,最後變成一些圖案。

那麼如何做到這一點?使用數組?

非常感謝。

+0

在處理中,直接繪製線條。如果你想把它畫成碎片,你必須畫出許多組成較大線條的小線條。 Manofstone建議的一個方法就是做到這一點。 – Arcymag

回答

0

在處理所有的繪圖發生在一個循環中。創建動畫序列的一種簡單方法就是使用frameCount來驅動它,並使用模函數%來創建循環。

void draw() { 
    float x = 50; 
    float y = 50; 
    float lineLength = 50; 
    int framesToAnimate = 60; 
    line(x,y,x+float(frameCount % framesToAnimate)/framesToAnimate*lineLength, y); 
} 

注:例如,沿x軸的動畫,如果你不投/轉換爲浮動

我用這個漂亮的往往動畫其他功能,如奇怪的事情會發生顏色。

fill(color(127 + sin(float(frameCount)/90)*127, 0, 0, 127)); 

如果您想獲得更高級的設置矢量和座標,請使用PVectorDaniel Shiffman's site有一個很好的教程。

0

如果要設置動畫獨立於幀頻,則可以使用mills()。這將從草圖開始後返回當前時間,因此您可以在幾秒鐘內設定某個特定時間內發生的事情。 例如像:

long initialTime; 

void setup(){ 
size(400,200); 
initialTime = millis(); 
} 
void draw() { 
float x = 50; 
float y = 50;        //set the multiplier to adjust speed 
line(x,y,x+(millis()-initialTime)*0.01, y);   //10 px/sec 
line(x,y+50,x+(millis()-initialTime)*0.05, y+50);  //50 px/sec 
line(x,y+100,x+(millis()-initialTime)*0.001, y+100); // 1 px/sec 
} 

也有一些動畫庫,我已經看到了一些令人印象深刻的一些結果,但我從來沒有使用過。這裏有一個list

+0

非常感謝你。 – kikkpunk