2017-05-15 86 views
-3
void setup() { 
    size(800,600); 
    smooth(); 
} 
void draw() { 
int circlex = 0; 
int circley = 0; 
while(true){ 
    ellipse(circlex,circley,50,50); 
    circlex = circlex + 2; 
    circley = circley + 1; 
} 
} 

我對Java很陌生,我想知道爲什麼這隻顯示背景,什麼也沒有發生。我該如何解決這個問題,而在虛空?

+0

此處理? –

+3

*爲什麼這隻顯示背景*我沒有在代碼中看到背景......'while(true){'你在使用Swing嗎?這很可能會阻止美國東部時間並凍結你的圖形用戶界面......但是,更好的辦法是發佈一個有效的[mcve],代碼是幹什麼的? – Frakcool

+0

可能需要設置繪製的橢圓的填充和線條顏色。它的當前顏色仍然與背景顏色相同,只是一個猜測。試試這個https://processing.org/reference/fill_.html –

回答

1

無限while循環阻止渲染,因此您的草圖永遠不會完成渲染幀。 draw()函數已經每秒被調用多次:使用它作爲無限循環。

還將您的局部變量移動到代碼的頂部,以便通過處理草圖可以看到它們。通過這種方式,您不會始終將值重置爲0,取消位置增量:

int circlex = 0; 
int circley = 0; 

void setup() { 
    size(800, 600); 
    smooth(); 
} 
void draw() { 


    ellipse(circlex, circley, 50, 50); 
    circlex = circlex + 2; 
    circley = circley + 1; 
} 
+0

當我以前做過這個時,它給了我一個錯誤,但它現在起作用了。奇怪的。 – WhyIsCode