我正在制作一个点击游戏,并想用一些按钮在场景之间切换。我已经完成了所有场景,这些场景分别在单独的类和按钮类中。按钮类包含两个方法,一个用于设置按钮,另一个用于获取按钮。每个场景都包含两种方法,一种用于加载背景图像,另一种用于加载场景的所有功能,如按钮,斑点和标志。
class Button {
Button() { }
void setButton( float plX, float pmX, float plY, float pmY, float iX, float iY) {
this.poslX= plX;
this.posmX = pmX;
this.poslY = plY;
this.posmY = pmY;
this.imgX = iX;
this.imgY = iY;
}
boolean getButton() {
if(mouseX > plX && mouseX < pmX && mouseY > plY && mouseY < pmY) {
image(img, pX, pY);
if(mousePressed) {
click = true;
}
}
else {
image(imgH, pX, pY);
clicked = false;
}
return clicked;
}
}
我在名为mainScene()的方法中调用所有这样的按钮。
class SceneOne {
SceneOne() { // some images go here }
void mainScene() {
button.setClickableArea(1125, 1125 + 164, 60, 60 + 165, 1125, 60);
button.getClickableArea();
button.setClickableArea(1125, 1125 + 164, 500, 500 + 165, 1125, 500);
button.getClickableArea();
}
}
我还有一个Stages类,它应该包含所有场景以及切换逻辑。我打算只在draw()中放一个名为gameStart()的方法。问题是如何让按钮切换到特定场景?
由于
答案 0 :(得分:0)
处理语言具有鼠标侦听器的内置函数,因此您需要在代码中添加类似这样的内容。 (scene
应该是全局bool变量)
void mousePressed() {
if(button.getButton()) {
//here you somehow store information which scene you want to draw ... e.g.
scene = !scene;
}
}
并在您draw()
或gameStart()
之间切换功能
draw() {
if(scene){
//draw first scene
}else{
//draw second scene
}
}