0

我正在制作一个处理应用程序,其中一些数据被插入到与主线程不同的线程中。在这个新线程中,我有color aColor = color(255-(255*_hue[0]), 255, 255);. (配色方案是 HSB)。

这条线导致屏幕闪烁红色。似乎这条线(从未aColor使用过谁的变量)正在导致应用程序窗口中发生一些严重的颜色变化。没有图像被绘制或任何东西。

我想知道这是否是某种处理错误,是否有解决方案,或者是否有解决方法。谢谢

4

1 回答 1

3

无论您是否使用该aColor变量,您都必须使用循环中fill()的某个位置。draw()

默认情况下 fill() 全局工作:在 fill() 调用之后绘制的所有后续形状都将具有该颜色。

要隔离 fill() 调用,使其影响局部绘制的形状,而不是全局绘制,您需要在pushStyle() /popStyle() 调用中隔离此类 fill() 调用。

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 回答