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

📄 menu.java

📁 这是本人学习java2个月后写的游戏
💻 JAVA
字号:
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.rms.*;


public class Menu extends Canvas implements Runnable{

	Main_MIDlet m;//设备管理对象
	boolean flag = false;//线程控制变量
	int level = 0;//当前屏幕显示内容
	Image logo = null;//闪屏图片
	Image menu = null;//菜单背景图
	Image ch  = null;//选择指示标
	Image back = null;//返回按钮
	Image exit = null;//退出按钮
	Image top  = null;
	Image controls  = null;
	Image about  = null;
	private static final int mao = Graphics.LEFT|Graphics.TOP;//锚点整型值
	Thread t  = null;//线程对象
	private int y = 123;//选择指示标坐标
	private int x = 40;
	private int width;//屏幕宽
	private int height;//屏幕高
	
	
	public Menu(Main_MIDlet m,int l)
	{
		this.m = m;
		setFullScreenMode(true);//设置屏幕以全屏显示
		level = l;//当前显示级别
		width = getWidth();//获得屏幕宽度
		height = getHeight();//获得屏幕高度
		//加载图片
		if(logo == null || menu == null || ch == null)
		{
			try
			{
				logo = Image.createImage("/logo.png");
				menu = Image.createImage("/menu.png");
				ch  = Image.createImage("/sp.png");
				top  = Image.createImage("/top.png");
				controls  = Image.createImage("/controls.png");
				about  = Image.createImage("/about.png");
				
			}catch(Exception e)
			{
				System.out.println("Menu类加载图片出错1。");
			}
		}
		t = new Thread(this);
		flag = true;
		t.start();//启动线程
	}
	
	public void run()
	{
		while(flag)
		{
			try
			{
				Thread.sleep(250);
			}catch(Exception e)
			{
				e.printStackTrace();
			}
			if(level == 0)
			{
				level = 1;
			}
			repaint();
		}
	}
	
	public void keyPressed(int keyCode)
	{
		int key = getGameAction(keyCode);
		
		if(keyCode == -6)
		{
			if(level == 3 || level == 4 || level == 5)
			{
				level = 1;
				repaint();
			}
		}else if(keyCode == -7)
		{
			if(level == 3 || level == 4 || level == 5)
			{
				m.exit();
			}
		}
		
		switch(key)
		{
			case Canvas.LEFT:
				break;
			case Canvas.RIGHT:
				break;
			case Canvas.UP:
				y -= 30;
				if(y < 123){
					y = 243;
					x = 80;
				}
				if(y == 123){
					x = 40;
				}
				if(y == 153){
					x = 83;
				}
				if(y == 183){
					x = 60;
				}
				if(y == 213){
					x = 70;
				}
				if(y == 243){
					x = 80;
				}
				repaint();
				break;
			case Canvas.DOWN:
				y += 30;
				if(y > 243)
				{
					y = 123;
					x = 40;
				}
				if(y == 123){
					x = 40;
				}
				if(y == 153){
					x = 83;
				}
				if(y == 183){
					x = 60;
				}
				if(y == 213){
					x = 70;
				}
				if(y == 243){
					x = 80;
				}
				
				repaint();
				break;
			case Canvas.FIRE:
				if(level == 1)
				{
					switch(y)
					{
						case 123:
							level = 2;
							Main_MIDlet.display.setCurrent(new Game(m));//切屏,显示游戏主界面
							break;
						case 153:
							level = 4;
							repaint();
							break;
						case 183:
							level = 5;
							repaint();
							break;
						case 213:
							level = 3;
							repaint();
							break;
						case 243:
							m.exit();
							break;
					}
				}
				break;
		}
	}
	
	//绘制闪屏
	private void drawSplash(Graphics g)
	{
		g.drawImage(logo,getWidth()/2,getHeight()/2,Graphics.VCENTER|Graphics.HCENTER);
	}
	
	//绘制菜单
	private void drawMenu(Graphics g)
	{
		g.drawImage(menu,0,0,mao);
		g.drawImage(ch,x,y,mao);
	}
	
	//绘制帮助页面
	private void drawAbout(Graphics g)
	{
		load();
		g.setColor(0,0,0);
		g.fillRect(0,0,width,height);
		g.drawImage(about, 0, 0, mao);
		g.drawImage(exit, 185, 276, mao);
		g.drawImage(back, 0, 276, mao);
	}
	
	//绘制排行榜页面
	private void drawTop(Graphics g)
	{
		load();
		g.setColor(0,0,0);
		g.fillRect(0,0,width,height);
		g.drawImage(top, 0, 0, mao);
		g.drawImage(exit, 185, 276, mao);
		g.drawImage(back, 0, 276, mao);
	}
	private void drawControls(Graphics g)
	{
		load();
		g.setColor(0,0,0);
		g.fillRect(0,0,width,height);
		g.drawImage(controls, 0, 0, mao);
		g.drawImage(exit, 185, 276, mao);
		g.drawImage(back, 0, 276, mao);
	}
	
	//加载其他页面图片
	private void load()
	{
		if(back == null || exit == null)
		{
			try
			{
				back = Image.createImage("/back.png");
				exit = Image.createImage("/exit.png");
			}catch(Exception e)
			{
				System.out.println("Menu类加载图片出错2.");
			}
		}
	}
	
	//将图案绘制到屏幕上
	protected void paint(Graphics g) {
		// TODO Auto-generated method stub
		switch(level)
		{
			case 0:
				drawSplash(g);
				break;
			case 1:
				flag = false;
				t = null;
				System.gc();
				drawMenu(g);
				break;
			case 2:
				break;
			case 3:
				drawAbout(g);
				break;
			case 4:
				drawTop(g);
				break;
			case 5:
				drawControls(g);
				break;
		}
	}

}

⌨️ 快捷键说明

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