0
我有代碼改變PShape的顏色和不透明度,我正在調試它,我99%肯定所有的方法工作。我做了一個延遲方法,因爲Processing不再有內置的延遲方法。當我調試它時,我注意到它只會在完成所有延遲調用後畫出它應該達到的內容(當沒有更多延遲時,它將繪製最新版本的PShape)。所以我看着我的延遲方法,我搞砸了,但仍然沒有正確的結果。有人可以試着向我解釋爲什麼PShape沒有更新?處理繪製()方法使用不起作用
編輯*我收到了一個回答,告訴我使用noLoop(),我用Google搜索了一下如何使用它,但我似乎無法找到放置它的正確位置。我試着在閃存方法的第一行,在安裝(但後來我意識到我有沒有更新直播按鈕)
下面的代碼使一個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;
所以應我只是把noLoop();在它們結束之前的所有redraw()函數和調用循環()之前? – Runeony1 2013-02-27 01:18:34
@ Runeony1不,如果你運行'noloop',你不應該再次運行'loop',除非你想擦除所有的自定義繪製。 – Serdalis 2013-02-27 01:24:29
好的,我把noLoop()放在方法的第一行,沒有loop()或noLoop()調用其他地方...不起作用 – Runeony1 2013-02-27 01:27:38