我和朋友一起创造了一个游戏。这是我第一次在可汗学院之外使用Processing进行大项目,所以有些事情有所不同。我现在的游戏部分是创建开始菜单及其所有内容。所以这就是我如何创建更改幻灯片的设置:
//I set up all of the slides as functions with the content inside.
int display = 0;
void show() {
if (display == 0) {
startM();
}
if (display == 1) {
options();
}
if (display == 2) {
rules();
}
if (display == 3) {
levelSelect();
}
if (display == 4) {
level1();
}
if (display == 5) {
level2();
}
if (display == 6) {
level3();
}
}
void draw() {
show();
}
这部分来自startM()函数,这是我以前的代码 滑动以滑动,因为此功能是开始屏幕。我遇到的问题是只有前两个if语句才有效。但另外两个,当我点击规则和级别按钮时没有任何反应。如果在单击工作按钮之前单击这些按钮,则工作按钮不再起作用。这部分代码出了什么问题?
if (mousePressed && mouseX <= 400 && mouseX >= 200 && mouseY <= 300 && mouseY >= 250) {
display = 1;
}
if (display == 0 && mousePressed && mouseX <= 400 && mouseX >= 200 && mouseY <= 230 && mouseY >= 180) {
display = 4;
}
if (mousePressed && mouseX <= 400 && mouseX >= 200 && mouseY <= 370 && mouseY >= 320) {
display = 2;
}
if (display == 0 && mousePressed && mouseX <=400 && mouseX >= 200 && mouseY <= 460 && mouseY >= 410) {
display = 3;
}
这是rules(),levelSelect()和options()函数。 Squares对象只显示一个正方形,当我点击这些按钮时屏幕永远不会改变,我怎么知道我的程序不工作。
Squares mySquare;
void setup() {
mySquare = new Squares(false, 100, 100, 100, 100);
size(600, 600);
background(0);
};
int display = 0;
void rules() {
background(0, 0, 0);
mySquare.display();
};
void options() {
background(0, 0, 0);
mySquare.display();
};
void levelSelect() {
background(0, 0, 0);
mySquare.display();
};
void show() {
if (display == 0) {
startM();
};
if (display == 1) {
options();
};
if (display == 2) {
rules();
};
if (display == 3) {
levelSelect();
};
if (display == 4) {
level1();
};
if (display == 5) {
level2();
};
if (display == 6) {
level3();
};
};
void draw() {
show();
};