⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uicontroller.java~17~

📁 利用Java 开发的一个手机版的潜艇游戏。游戏实现的重点就是屏幕的绘制滚动技术和碰撞检测技术
💻 JAVA~17~
字号:
package mysubmarine;

import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDletStateChangeException;

/**
 * <p>Title: 俄罗斯方块</p>
 *
 * <p>Description: 俄罗斯方块游戏</p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: Star Group</p>
 *
 * @author not attributable
 * @version 1.0
 */
public class UIController {
    //定义各类事件的ID
    public static class EventID{
        private EventID(){

        }
        public static final byte EVENT_START_SPLASH = 01;
        public static final byte EVENT_GAME_RUN = 02;
        public static final byte EVENT_GAME_PAUSE = 03;
        public static final byte EVENT_EXIT = 04;

        public static final byte EVENT_NEXTROUND = 101;
    }

    private MysubmarineMIDlet gameMIDlet;
    private Display display;

    private Splash splash;
    private MySubmarineCanvas gamedisplay;
    private Splash nextRound;

    public UIController(MysubmarineMIDlet gameMIDlet) {
        this.gameMIDlet = gameMIDlet;
        this.display = Display.getDisplay(this.gameMIDlet);
    }

    public void handleEvent(byte eventID){
        switch(eventID){
        case EventID.EVENT_START_SPLASH:
            if(splash == null){
                StringBuffer str = new StringBuffer("Starting...");
                splash = new Splash(this,str);
            }
            display.setCurrent(splash);
            Thread st = new Thread(this.splash);
            try {
                st.sleep(500);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            st.start();
            break;
        case EventID.EVENT_GAME_RUN:
            if(gamedisplay == null){
                gamedisplay = new MySubmarineCanvas(this);
            }
            display.setCurrent(gamedisplay);
            //gamedisplay.active();
            splash = null;
            nextRound = null;
            break;
        case EventID.EVENT_NEXTROUND:
            if(nextRound == null){
               StringBuffer str = new StringBuffer("Next Round...");
               nextRound = new Splash(this,str);
           }
           display.setCurrent(nextRound);
           Thread nr = new Thread(this.nextRound);
           try{
               nr.sleep(500);
           } catch (InterruptedException e){
               e.printStackTrace();
           }
           nr.start();
           break;
        case EventID.EVENT_EXIT:
            this.gameMIDlet.destroyApp(false);
            this.gameMIDlet.notifyDestroyed();
            break;
        }
    }

    public void setSplash(Splash sp){
        this.splash = sp;
    }

    public void setNextRoundSplash(Splash nr){
        this.nextRound = nr;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -