首页 > 解决方案 > 如何在java中更改屏幕状态?

问题描述

我正在尝试通过按 将屏幕状态从 Menu 更改为 PlayState space,但是当space被按下时,程序似乎处于某个循环中,因为它一直在播放状态中绘制东西。
这是代码:

public class Main {

    public enum ScreenState {MENU, PLAYSTATE, RESET}

    static ScreenState screenState = ScreenState.MENU;

    static Menu menu = new Menu();


    public static void main(String[] args) {



//        Setting default canvas
        StdDraw.clear();
        StdDraw.setCanvasSize(800, 700);
        StdDraw.setXscale(0, 800);
        StdDraw.setYscale(0, 700);
        StdDraw.filledRectangle(0,0,800,700);

        while(true) {

          switch (screenState) {
            case MENU:
              menu.drawMenu();
              //        starts game
              if (StdDraw.isKeyPressed(' ')) {
               screenState = ScreenState.PLAYSTATE;
              }

              break;

            case PLAYSTATE:

              StdDraw.setPenColor(StdDraw.BLACK);
              StdDraw.filledRectangle(0,0,800,700);
              StdDraw.setPenColor(StdDraw.WHITE);
              StdDraw.text(50,680,"SCORE");

              break;  
          }
        }
    }
}

标签: java

解决方案


推荐阅读