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

📄 metalmax.java

📁 此为一款基于J2ME的手机游戏
💻 JAVA
字号:
/**********************************************************
  
 File name:MetalMaxMedlet.java
 
 Author:夏文涛
 
 Version:Beta1.0
 
 Data:2007/10/16
  
 Description:
 
    游戏的medlet,进行各种进入游戏前的菜单显示处理
    
 Function List:
 
    1.splashScreenPainted(boolean) 进入闪屏界面
    
    2.splashScreenDone()           闪屏界面显示完毕
    
    3.menuListNewGame()            开始新游戏
    
    4.GameCanvasMenu()             返回medlet,游戏暂停
    
    5.menuListContinue()           游戏继续

    6.menuListInstructions()       进入显示游戏介绍界面
    
    7.instructionsBack()           游戏介绍显示完毕
    
    8.menuListRecord()             进入显示记录界面
    
    9.RecordBack()                 记录界面显示完毕
    
    10.menuListQuit()              退出菜单选择,游戏结束
    
    11.GameCanvasGameOver()        显示游戏结束界面
    
    12.gameOverDone()              游戏结束界面显示完毕
    
    13.flashBacklight()            手机闪屏效果
    
    14.vibrate()                   手机震动效果
    
 *********************************************************/

package com.Izual.MetalMax;


import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class MetalMax extends MIDlet implements Runnable,IData {

	private MenuList menuList;

	private MetalMaxCanvas myCanvas;

	private boolean initDone = false;

	/*
	 * 游戏记录,DEMO中由于时间问题还未实现
	private static final String RS_NAME = "MetalMaxRecord";
	*/

	public MetalMax() {

	}

	protected void destroyApp(boolean arg0) {

		if (myCanvas != null) {
			
			myCanvas.stop();
		}
	}

	protected void pauseApp() {

		Displayable current = Display.getDisplay(this).getCurrent();
		if (current == myCanvas) {
			
			myCanvas.stop();
		}
	}

	protected void startApp() throws MIDletStateChangeException {

		//获取系统时间
		Runtime rt = Runtime.getRuntime();
		
		//获取游戏开始前的内存情况
		long diffstart = rt.totalMemory() - rt.freeMemory();
		
		System.out.println("Memory used Start:" + diffstart);
		
		Displayable current = Display.getDisplay(this).getCurrent();

		//如果游戏刚启动,则开始闪屏界面
		if (current == null) {

			Display.getDisplay(this).setCurrent(new SplashScreen(this));
	

		} else {/*否则进入游戏*/

			if (current == myCanvas) {

				myCanvas.start();
			}

			Display.getDisplay(this).setCurrent(current);
		}
		
		/*游戏后内存变化情况*/
		long diffend = rt.totalMemory() - rt.freeMemory();
		System.out.println("Memory used End:" + diffend);
		System.out.println("Memory used after operation:"
				+ (diffend - diffstart));

	}

	/*进入闪屏界面*/
	void splashScreenPainted() {

		new Thread(this).start();
	}

	/*线程运行*/
	public void run() {

		init();

	}

	/*同步的初始化方法*/
	private synchronized void init() {

		if (!initDone) {

            SoundEffects.getInstance();
			menuList = new MenuList(this);
			myCanvas = new MetalMaxCanvas(this);
			initDone = true;
		}
	}

	/*闪屏结束,返回到菜单选择*/
	void splashScreenDone() {

		init();
		Display.getDisplay(this).setCurrent(menuList);
	}

	/*开始新游戏*/
	public void menuListNewGame() {

		myCanvas.init(START_MAP);
		Display.getDisplay(this).setCurrent(myCanvas);
		myCanvas.start();
	}

	/*游戏暂停*/
	public void GameCanvasMenu() {
		
		myCanvas.stop();
		menuList.setGameActive(true);
		Display.getDisplay(this).setCurrent(menuList);
	}

	/*游戏继续*/
	public void menuListContinue() {

		Display.getDisplay(this).setCurrent(myCanvas);
		myCanvas.start();

	}

	/*进入游戏介绍界面*/
	public void menuListInstructions() {

		Display.getDisplay(this).setCurrent(new InstructionScreen(this));
	}

	/*游戏介绍界面显示完毕*/
	public void instructionsBack() {

		Display.getDisplay(this).setCurrent(menuList);
	}

	/*进入记录界面*/
	public void menuListRecord() {

		Display.getDisplay(this).setCurrent(new RecordScreen(this));

	}

	/*记录界面显示完毕*/
	public void RecordBack() {

		Display.getDisplay(this).setCurrent(menuList);
	}

	/*退出游戏*/
	public void menuListQuit() {

		quit();
	}

	public void quit() {

		destroyApp(false);
		notifyDestroyed();
	}
	
	/*游戏结束界面*/
	public void GameCanvasGameOver(long time, int record){
		
		myCanvas.stop();
		menuList.setGameActive(false);
		Display.getDisplay(this).setCurrent(new GameOverScreen(this));
		
	}
	
	/*游戏结束界面显示完毕*/
	public void gameOverDone(){
		
		Display.getDisplay(this).setCurrent(menuList);
	}

	/*手机闪屏效果*/
	public void flashBacklight(int millis){
		
		Display.getDisplay(this).flashBacklight(millis);
	}
	
	/*手机震动效果*/
	public void vibrate(int millis){
		
		Display.getDisplay(this).vibrate(millis);
	}	

}

⌨️ 快捷键说明

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