2015-02-11 43 views
0

我想寫一個140字符(Twitter字符限制)下的程序。該程序顯示我想要的最終輸出,但我不明白爲什麼它不顯示動畫,因爲它創建它。我認爲這是因爲我沒有繪製函數,但我不明白爲什麼如果繪圖都是在For循環內完成的,反正繪圖函數沒有幫助。我試着把幀速率​​降低,但由於某種原因,它只給了我一個靜態的最終輸出。任何幫助深表感謝。處理:試圖動畫的繪製線條沒有繪製功能

int j=600, i=j/3; 
size(j, j); 
smooth(); 
translate(j/2, j/2); 
for (i=1; i<12500;) { 
    fill(i%j, i%j); 
    rotate(j%i*5); 
    line(i++%j, i++%j, i+++j, int(i/99)%99); 
} 
+1

當你運行這個時,PDE會說什麼?另外,如果你的'i'類型是「int」,那麼與其他int的算術運算就會保持不變(例如,5/2是「int」2,而不是「float」或「double」2.5) t需要做一個'int(i/99)' – 2015-02-11 21:21:45

回答

1

處理採用雙緩衝技術,這意味着當你畫「屏幕」,實際上是繪製閉屏緩衝區。由於您的代碼不在draw()函數中,所以在幀甚至可見之前發生。然後,當框架變得可見時,它將佔用整個屏幕外的緩衝區,並將整個屏幕繪製到屏幕上。

這就是爲什麼你只能看到繪圖的最終結果。如果要顯示動畫,則必須使用draw()函數和某種類型的定時(例如millis()方法)。