我正在尝试使用数组绘制这5个矩形,但是它们具有相同的不透明度...但是他们应该有所不同,但我现在不为什么?有人可以帮我吗?先感谢您 :)塞巴斯蒂安
PGraphics[] pgArray = new PGraphics[5];
void setup() {
size(500, 500);
background(255);
for (int i = 0; i<pgArray.length; i++) {
pgArray[i] = createGraphics(500, 500);
}
}
void draw() {
for (int i = 0; i < pgArray.length; i++) {
pgArray[i].beginDraw();
pgArray[i].fill(0, (255/pgArray.length)*i+1);
pgArray[i].rect(20*i, 20*i, 50, 50);
pgArray[i].endDraw();
}
for(int i = 0; i < pgArray.length; i++){
image(pgArray[i],0,0);
}
}
您的代码不会清除帧之间的PGraphics对象。由于不透明度是可加的,因此矩形将在几帧内达到完全不透明,因为您将它们绘制在彼此之上。
您可以
setup()
,因此它只能运行一次。或
pgArray[i].clear();
之后插入对pgArray[i].beginDraw();
的呼叫。