我們都知道如何在Processing中畫一條線。如何在Processing中實現DRAWING處理?
但是當我們畫一條線時,這條線立即顯示出來。
如果我想見證繪畫過程,即看到前進的線條,逐漸完成一整條線,該怎麼辦。
下面是我想要實現的:繪製幾條線和曲線,最後變成一些圖案。
那麼如何做到這一點?使用數組?
非常感謝。
我們都知道如何在Processing中畫一條線。如何在Processing中實現DRAWING處理?
但是當我們畫一條線時,這條線立即顯示出來。
如果我想見證繪畫過程,即看到前進的線條,逐漸完成一整條線,該怎麼辦。
下面是我想要實現的:繪製幾條線和曲線,最後變成一些圖案。
那麼如何做到這一點?使用數組?
非常感謝。
在處理所有的繪圖發生在一個循環中。創建動畫序列的一種簡單方法就是使用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));
如果您想獲得更高級的設置矢量和座標,請使用PVector。 Daniel Shiffman's site有一個很好的教程。
如果要設置動畫獨立於幀頻,則可以使用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。
非常感謝你。 – kikkpunk
在處理中,直接繪製線條。如果你想把它畫成碎片,你必須畫出許多組成較大線條的小線條。 Manofstone建議的一個方法就是做到這一點。 – Arcymag