我正在制作一个处理应用程序,其中一些数据被插入到与主线程不同的线程中。在这个新线程中,我有color aColor = color(255-(255*_hue[0]), 255, 255);
. (配色方案是 HSB)。
这条线导致屏幕闪烁红色。似乎这条线(从未aColor
使用过谁的变量)正在导致应用程序窗口中发生一些严重的颜色变化。没有图像被绘制或任何东西。
我想知道这是否是某种处理错误,是否有解决方案,或者是否有解决方法。谢谢
我正在制作一个处理应用程序,其中一些数据被插入到与主线程不同的线程中。在这个新线程中,我有color aColor = color(255-(255*_hue[0]), 255, 255);
. (配色方案是 HSB)。
这条线导致屏幕闪烁红色。似乎这条线(从未aColor
使用过谁的变量)正在导致应用程序窗口中发生一些严重的颜色变化。没有图像被绘制或任何东西。
我想知道这是否是某种处理错误,是否有解决方案,或者是否有解决方法。谢谢
无论您是否使用该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