0

一部のデータがメインスレッドとは別のスレッドで補間される処理アプリケーションを作成しています。この新しいスレッドには、次の行がありcolor aColor = color(255-(255*_hue[0]), 255, 255);ます。(配色はHSBです)。

この行により、画面が赤く点滅します。行 (who's variable aColoris never used) により、アプリケーション ウィンドウの色が大きく変化しているようです。描かれている画像などはありません。

これは処理に関する何らかのバグなのか、解決策があるのか​​ 、それとも回避策があるのか​​ 疑問に思っています. ありがとう

4

1 に答える 1

3

変数を使用するかどうかに関係なく、ループのどこかaColorで使用する必要があります。fill()draw()

デフォルトでは、fill() はグローバルに機能します。fill() 呼び出しの後に描画される後続のすべての形状は、その色になります。

fill() 呼び出しを分離して、グローバルではなくローカルに描画された形状に影響を与えるようにするには、そのような fill() 呼び出しをpushStyle() /popStyle() 呼び出し内で分離する必要があります。

fill(192,0,0);//set global fill to red
rect(0,0,50,50);

pushStyle();
fill(0,192,0);//set local fill to green
rect(50,0,50,50);
popStyle();

rect(50,50,50,50);//draw using last global fill: red
于 2013-03-28T21:08:38.970 に答える