我有代码可以改变 PShape 的颜色和不透明度,我正在调试它,我 99% 确定所有方法都有效。我做了一个延迟方法,因为处理不再有一个内置的延迟方法。当我调试它时,我注意到它只会在所有延迟调用完成后绘制它应该绘制的内容(当没有更多延迟时,它会绘制最新版本的 PShape)。所以我查看了我的延迟方法,我弄乱了它,但仍然没有正确的结果。有人可以向我解释为什么 PShape 没有更新吗?
编辑* 我收到一个告诉我使用 noLoop() 的答案,我用谷歌搜索了如何使用它,但我似乎找不到正确的放置位置。我已经在设置中尝试了 flash 方法的第一行(但后来我意识到我有没有更新的实时按钮)
下面的代码使 PShape 闪烁两次:
noLoop();
root.setVal(newVal);
root.highlight(0,255,0);
root.setopacity(200);
redraw();
try {Thread.sleep((long)1500);}
catch (InterruptedException ex) {println("Error!");}
root.setopacity(0);
redraw();
try {Thread.sleep((long)1500);}
catch (InterruptedException ex) {println("Error!");}
root.setopacity(200);
root.clearHL();//just to make sure I repeated these methods
root.highlight(0,255,0);
redraw();
try {Thread.sleep((long)1500);}
catch (InterruptedException ex) {println("Error!");}
root.clearHL();
redraw();
loop();
return root;