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

📄 basemidlet.java

📁 Java手机游戏源代码(企业公司源代码)供初学者参考。
💻 JAVA
字号:
package com.gt.mobile;

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

public class BaseMIDlet extends MIDlet implements Runnable{

	public static Display display;
	
	private Thread mainThread;
	private static boolean isRunning=false;
	
	private static int rate=80;
	private static boolean flashBacklight=false;
	
//	private BaseCanvas pendingCanvas;
	private static BaseCanvas currentCanvas;
//	private static Form currentForm;
	private static Screen currentScreen;
	
	public BaseMIDlet(){
		display=Display.getDisplay(this);
		mainThread=new Thread(this);
	}
	
	protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
		System.out.println("BaseMIDlet destroyApp>>>"+arg0);
		notifyDestroyed();
	}

	public static void exit(){
		isRunning=false;
//		try {
//			isRunning=false;
//			destroyApp(false);
//		} catch (MIDletStateChangeException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
	}
	
//	public static final void alertError(String message){
//		Alert alert=new Alert("Error");
//		alert.setString(message);
//		alert.setTimeout(Alert.FOREVER);
//		display.setCurrent(alert);
//		System.out.println(message);
//	}
	
	protected void pauseApp() {
		// TODO Auto-generated method stub

	}

	protected void startApp() throws MIDletStateChangeException {
		if(!isRunning){
			mainThread.start();
		}
	}
	
	public void run(){
		isRunning=true;
		long startTime,usedTime;
		try{
			while(isRunning){
//				if(display!=null && flashBacklight){
//					display.flashBacklight(rate);
//				}
				startTime=System.currentTimeMillis();
				if(currentCanvas!=null){
					try{
						currentCanvas.doUpdate();					
					}
					catch(Exception e){
						Utility.println("BaseMIDlet run>>>currentCanvas.doUpdate exception>>>"+e.toString());
					}
					try{
						currentCanvas.doRepaint();
					}
					catch(Exception e){
						Utility.println("BaseMIDlet run>>>currentCanvas.doRepaint exception>>>"+e.toString());
					}
				}
				if((usedTime=System.currentTimeMillis()-startTime)<rate){
					try{
						Thread.sleep(rate-usedTime);
					}
					catch(Exception e){
						Utility.println("BaseMIDlet run>>>sleep exception>>>>"+e.toString());
					}
				}
			}
			destroyApp(false);
		}
		catch(Exception e){
			e.printStackTrace();
		}
		//notyet//
	}
	
//	public void run(){
//		isRunning=true;
//		long startTime,usedTime;
//		try{
//			while(isRunning){
////				if(display!=null && flashBacklight){
////					display.flashBacklight(rate);
////				}
//				startTime=System.currentTimeMillis();
//				if(currentCanvas!=null){
//					currentCanvas.doUpdate();
//					currentCanvas.doRepaint();
//				}
//				if((usedTime=System.currentTimeMillis()-startTime)<rate){
//					try{
//						Thread.sleep(rate-usedTime);
//					}
//					catch(Exception e){
//						Utility.println("BaseMIDlet run>>>sleep exception>>>>"+e.toString());
//					}
//				}
//			}
//			destroyApp(false);
//		}
//		catch(Exception e){
//			e.printStackTrace();
//		}
//		//notyet//
//	}
	
//	public void setCurrentCanvas(BaseCanvas currentCanvas){
//		if(this.currentCanvas!=currentCanvas){
//			this.currentCanvas=currentCanvas;
//			display.setCurrent(this.currentCanvas);
//		}
//	}
	
	public static void setCurrentCanvas(BaseCanvas currentCanvas){
		if(BaseMIDlet.currentCanvas!=currentCanvas){
			BaseCanvas previousCanvas=BaseMIDlet.currentCanvas;
			if(previousCanvas!=null)
				previousCanvas.beforeHide();
			BaseMIDlet.currentCanvas=currentCanvas;
			BaseMIDlet.currentCanvas.beforeEnter();
			display.setCurrent(BaseMIDlet.currentCanvas);
			if(previousCanvas!=null)
				previousCanvas.afterHide();
			BaseMIDlet.currentCanvas.afterEnter();
//			BaseMIDlet.currentForm=null;
			BaseMIDlet.currentScreen=null;
		}
	}
	
	public static BaseCanvas getCurrentCanvas(){
		return (BaseCanvas)display.getCurrent();
	}
	
//	public static void setCurrentForm(Form form){
//		currentCanvas=null;
//		display.setCurrent(form);
//	}
	
//	public static Form getCurrentForm(){
//		return currentForm;
//	}
	
	public static void setCurrentScreen(Screen screen){
		if(currentCanvas!=null)
			currentCanvas.beforeHide();	
		display.setCurrent(screen);
		if(currentCanvas!=null)
			currentCanvas.afterHide();
		currentCanvas=null;
	}
	
	public static Screen getCurrentScreen(){
		return currentScreen;
	}
	
//	protected void setRate(int rate){
//		this.rate=rate;
//	}
	
	public static void setRate(int rate){
		BaseMIDlet.rate=rate;
	}
	
	public static int getRate(){
		return BaseMIDlet.rate;
	}
	
	public static void setFlashBacklight(boolean flash){
		flashBacklight=flash;
	}
	
	public static boolean isFlashBacklight(){
		return flashBacklight;
	}
	
//	private void updateLogic(){
//		
//	}

}

⌨️ 快捷键说明

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