我剛使圖像生成器與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()''',但要注意數組的長度,這樣你就不會出界了:) –