Processing:Transparent 图像数组

Processing:Transparent Image Array

我是处理新手,我卡在了这个问题上:

目的:我想做一个透明图片数组,每次mousePressed()后一次显示一个

问题:发生这种情况是因为所有图像都具有 alpha 透明度,它们重叠并且存在累积效应。我想要做的,理想情况下是清除它然后显示另一个图像。

PGraphics pg;
PImage[] 
myImageArray = new PImage[12];

void setup() {
  //background (255,0);
  size(1024, 1024,P2D);

 for (int i=0; i<myImageArray.length; i++) {
    myImageArray[i] = loadImage( "A-0" + i + ".png");
    pg = createGraphics (1000,1000);
  }
}

void draw() {
 pg.beginDraw (); 
 pg.image(myImageArray[(int)random(12)], 0, 0, 1000, 1000);
 pg.endDraw ();

 image(pg,0,0); 
 noLoop ();
}
void mousePressed() {

  pg = createGraphics(1000,1000);
 if (frameCount > 1) {
  pg.beginDraw ();
  pg.clear();
  pg.endDraw ();
loop ();

  }

}

如有任何建议,我们将不胜感激!

听起来您只是在寻找 background() 函数。 background() 函数通过绘制纯色作为背景来清除旧帧。

您可以在 the reference 中找到更多信息。