我刚使图像生成器与PNG文件一起工作。目前,它分为3类(背景,对象&文本)。这些现在全部结合在一起,并且每点击一次鼠标就会随机分配这些PNG。切换功能在加工中不起作用(ControlP5)
我做了三个切换,在那里你可以选择显示背景和顶部的对象,所有的,或所有单独的。每当我运行草图时,它都会显示“灰色”背景,但是当我使用切换时,它不会显示任何内容,或者显示闪烁的图像,其中不能使用鼠标点击以转到下一个图像。我似乎无法找到问题。希望你能帮上忙。 :)
import controlP5.*;
boolean showBackground = false;
boolean showObjects = false;
boolean showGrids = false;
ControlP5 cp5;
PImage[] myImageArray = new PImage[8];
PImage[] myImageArray2 = new PImage[15];
PImage[] myImageArray3 = new PImage[15];
void setup() {
size(1436, 847);
background(211, 211, 211);
for (int i=0; i<myImageArray.length; i++) {
myImageArray[i] = loadImage ("o" + i + ".png");
myImageArray2[i] = loadImage ("g" + i + ".png");
myImageArray3[i] = loadImage("b" + i + ".jpg");
cp5 = new ControlP5(this);
// create a toggle and change the default look to a (on/off) switch look
cp5.addToggle("showBackground")
.setPosition(40, 250)
.setSize(50, 20)
.setValue(true)
.setMode(ControlP5.SWITCH);
cp5.addToggle("showObjects")
.setPosition(40, 400)
.setSize(50, 20)
.setValue(true)
.setMode(ControlP5.SWITCH);
cp5.addToggle("showGrid")
.setPosition(40, 600)
.setSize(50, 20)
.setValue(true)
.setMode(ControlP5.SWITCH);
}
display();
}
void display() {
image(myImageArray3[(int)random(myImageArray.length)], 0, 0, 1436, 847); // b
image(myImageArray2[(int)random(myImageArray.length)], 0, 0, 1436, 847); // g
image(myImageArray[(int)random(myImageArray.length)], 0, 0, 1436, 847); // o
}
void mousePressed() {
display();
}
void draw() {
pushMatrix();
if (showBackground==false) {
image(myImageArray3[(int)random(myImageArray.length)], 0, 0, 1436, 847); // b
} else {
background(211, 211, 211);
}
if (showGrids==false) {
image(myImageArray2[(int)random(myImageArray.length)], 0, 0, 1436, 847); // g
} else {
background(211, 211, 211);
}
if (showObjects==false) {
image(myImageArray[(int)random(myImageArray.length)], 0, 0, 1436, 847); // o
} else {
background(211, 211, 211);
}
popMatrix();
}
非常感谢!它的工作原理,我只是有一个关于代码的问题,所以我完全理解,这里加载的对象,但第一句正确地说和引用(int i = 0; i
如果它解决了问题,可以自由投票和/或将答案标记为解决方案。关于随机性,试着改变'''currentImage'''的值来使用''random()''',但要注意数组的长度,这样你就不会出界了:) –