2017-05-15 19 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を使用していますか?それはおそらくEDTをブロックし、あなたのGUIを永遠に凍結するでしょう...しかし、より良い、有効な[mcve]を投稿し、コードは何を意図していますか? – Frakcool

+0

は、描画される楕円の塗りつぶしと線の色を設定する必要があります。現在の色は背景色と同じで、推測するだけです。このhttps://processing.org/reference/fill_.htmlを試してください –

答えて

1

無限のwhileループがレンダリングをブロックしているため、スケッチは決してフレームのレンダリングを終了しません。 draw()関数は、すでに1秒に何回も呼び出されています。これを無限ループとして使用します。

また、ローカル変数をコードの上部に移動すると、処理スケッチから表示されるようになります。この方法では、値を常に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

関連する問題