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

📄 roleselect.java

📁 一款新手改造的J2me手机游戏项目
💻 JAVA
字号:
package com.ejoy;


import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
//Download by http://www.codefans.net

public class RoleSelect extends Canvas /*implements Runnable*/{
	
	private GameMIDlet m_gmid;

	// 未选中时头标
	private Image img_unsel;

	
	//选中时头标
	private Image img_sel;
	
	//背景
	private Image img_bg;
	
	//游戏菜单项
	public Image curimg;
	
	//帮助图片
	public Image helpimg;
	
	//菜单索引
	public int curIndex=3;

	public boolean isDown=false;

	public boolean isHelpShow=false;

	//音乐管理器
	private AVManager av;
	
	

	public RoleSelect(GameMIDlet gm)
	{
		m_gmid=gm;
		setFullScreenMode(true);
		try
		{
			img_bg=Image.createImage("/res/menu.png");
			img_unsel=Image.createImage("/res/ico_zhangfei_unsel.png");
			img_sel=Image.createImage("/res/ico_diaochan.png");
			helpimg=Image.createImage("/res/help.png");
			curimg=Image.createImage("/res/gop.png");
		
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	
		
		av=new AVManager(gm);
		av.createPlayer("/res/bg.mid", AVManager.MEDIA_TYPE_MIDI);
		av.init();
		av.play();
		
	}

	public void paint(Graphics g)
	{
		if(!isHelpShow)
		{
			g.setColor(0);
			g.fillRect(0, 0, getWidth(), GameMIDlet.SCREEN_HEIGHT);
			g.drawImage(img_bg, 0, 0, 0);
			g.drawImage(img_sel, 109, 29, 0);
			g.drawImage(img_unsel,109,124,0);
			
			g.setClip(32, 52, 30, 100);
			g.drawImage(curimg, 32-curIndex*30, 52, 0);
			g.setClip(0, 0, getWidth(), GameMIDlet.SCREEN_HEIGHT);
		}
		else
		{
			g.drawImage(helpimg, 0, 0, 0);
		}
	}
	
	
	public void keyPressed(int keyCode)
	{
		boolean bAction=false;
		
		if(isHelpShow)
		{
			isHelpShow=false;
			repaint();
			return;
		}
		switch(keyCode)
		{
			case Canvas.KEY_NUM2:
				if(isDown)
				{
					try
					{
						img_unsel=Image.createImage("/res/ico_zhangfei_unsel.png");
						img_sel=Image.createImage("/res/ico_diaochan.png");
					}
					catch(Exception e)
					{
						e.printStackTrace();
					}
					isDown=false;
				}
				break;
			case Canvas.KEY_NUM4:
				if(curIndex!=0)
					curIndex--;
				break;
			case Canvas.KEY_NUM6:
				if(curIndex!=3)
					curIndex++;
				break;
			case Canvas.KEY_NUM8:
				if(!isDown)
				{
					try
					{
						img_sel=Image.createImage("/res/ico_diaochan_unsel.png");
						img_unsel=Image.createImage("/res/ico_zhangfei.png");
					}catch(Exception e)
					{
						e.printStackTrace();
					}
					isDown=true;
				}
				break;
			case Canvas.KEY_NUM5:
				if(curIndex==3)
				{
					if(!isDown)
					{
						m_gmid.gmain=new GameMain(m_gmid,MySprite.ROLE_DC);
						m_gmid.disp.setCurrent(m_gmid.gmain);
						m_gmid.gmain.cThread=new Thread(m_gmid.gmain);
						m_gmid.gmain.cThread.start();
					}
					else
					{
						m_gmid.gmain=new GameMain(m_gmid,MySprite.ROLE_ZF);
						m_gmid.disp.setCurrent(m_gmid.gmain);
						m_gmid.gmain.cThread=new Thread(m_gmid.gmain);
						m_gmid.gmain.cThread.start();
					}
					releaseAllSource();
				}
				if(curIndex==2)
				{
					
				}
				if(curIndex==1)
				{
					isHelpShow=true;
				}
				if(curIndex==0)
				{
					m_gmid.exit();
				}
				break;
			default:
				bAction=true;
		}
		if(bAction)
		{
			switch(getGameAction(keyCode))
			{
				case Canvas.DOWN:
					if(!isDown)
					{
						try
						{
							img_sel=Image.createImage("/res/ico_diaochan_unsel.png");
							img_unsel=Image.createImage("/res/ico_zhangfei.png");
						}catch(Exception e)
						{
							e.printStackTrace();
						}
						isDown=true;
					}
					break;	
				case Canvas.UP:
					if(isDown)
					{
						try
						{
							img_unsel=Image.createImage("/res/ico_zhangfei_unsel.png");
							img_sel=Image.createImage("/res/ico_diaochan.png");
						}
						catch(Exception e)
						{
							e.printStackTrace();
						}
						isDown=false;
					}
					break;
					
				case Canvas.LEFT:
					if(curIndex!=0)
						curIndex--;
					break;
				case Canvas.RIGHT:
					if(curIndex!=3)
						curIndex++;
					break;
				case Canvas.FIRE:
					if(curIndex==3)
					{
						if(!isDown)
						{
							m_gmid.gmain=new GameMain(m_gmid,MySprite.ROLE_DC);
							m_gmid.disp.setCurrent(m_gmid.gmain);
							m_gmid.gmain.cThread=new Thread(m_gmid.gmain);
							m_gmid.gmain.cThread.start();
						}
						else
						{
							m_gmid.gmain=new GameMain(m_gmid,MySprite.ROLE_ZF);
							m_gmid.disp.setCurrent(m_gmid.gmain);
							m_gmid.gmain.cThread=new Thread(m_gmid.gmain);
							m_gmid.gmain.cThread.start();
						}
						releaseAllSource();
					}
					if(curIndex==2)
					{
					
					}
					if(curIndex==1)
					{
						isHelpShow=true;
					}
					if(curIndex==0)
					{
						m_gmid.exit();
					}
					break;			
			}
		}
		repaint();
	}
	
	
	public void showHelp(Graphics g)
	{
		
	}
	
	//释放各种资源
	public void releaseAllSource()
	{
		img_sel=null;
		
		img_unsel=null;
		
		curimg=null;
		
		img_bg=null;
		
		av.releaseMediaResource();
				
		System.out.println("releaseAllSource函数调用");
		System.gc();
		
	}
	

}

⌨️ 快捷键说明

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