用按钮在场景之间切换

时间:2013-12-17 20:22:57

标签: java class button processing

我正在制作一个点击游戏,并想用一些按钮在场景之间切换。我已经完成了所有场景,这些场景分别在单独的类和按钮类中。按钮类包含两个方法,一个用于设置按钮,另一个用于获取按钮。每个场景都包含两种方法,一种用于加载背景图像,另一种用于加载场景的所有功能,如按钮,斑点和标志。

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()的方法。问题是如何让按钮切换到特定场景?

由于

1 个答案:

答案 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
  }
}