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

📄 menucanvas.java

📁 名作puyo 移植的手机版
💻 JAVA
字号:
/*
 * @autor Zhang JunQin
 */
import java.io.IOException;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
//import com.nokia.mid.ui.*;

class MenuCanvas extends Canvas{
	private Image menuImage;
	private Image menuItemImage;
	private Image buffer;
	private int[] menuItemInfo;
	private MainMIDlet midlet;
	private static int ITEMW=47;
	private static int ITEMH=20;
	
	private int itemNum;
	private int selectIndex;
	private int[] showId;
	
	public MenuCanvas(MainMIDlet midlet){
		this.midlet=midlet;
		try{
			menuImage=Image.createImage("/menu.png");
			menuItemImage=Image.createImage("/menuItem.png");
		}catch(IOException e){
			menuImage=null;
			menuItemImage=null;
			System.out.println("Read file failed");
		}
		buffer=Image.createImage(this.getWidth(),this.getHeight());
		if(menuItemImage!=null){
			menuItemInfo=ImageTool.getImageSequenceInfo(menuItemImage,ITEMW,ITEMH);
		}
		
		itemNum=5;
		selectIndex=0;
		//showId=new int[itemNum];
	}
	
	protected void paint(Graphics g) {
		setShowId();
		Graphics dg=buffer.getGraphics();
		dg.drawImage(menuImage,0,0,Graphics.TOP|Graphics.LEFT);
		int tempx=69;
		int temy=87;
		for(int i=0;i<3;i++){
			ImageTool.drawFrame(dg,menuItemImage,tempx,temy+i*21,ITEMW,ITEMH,menuItemInfo,i==0?(showId[i]+1):showId[i]);
		}
		g.drawImage(buffer,0,0,Graphics.TOP|Graphics.LEFT);	
	}
	
	private void setShowId(){
		showId=new int[]{0,0,0};
		switch(selectIndex){
		case 0:
			showId=new int[]{0,2,4};
			break;
		case 1:
			showId=new int[]{2,4,6};
			break;
		case 2:
			showId=new int[]{4,6,8};
			break;
		case 3:
			showId=new int[]{6,8,0};
			break;
		case 4:
			showId=new int[]{8,0,2};
		}
	}
	
	protected void keyPressed(int keyCode){
		//响应按键 具体机器可能不一样
		int key=getGameAction(keyCode);
		//System.out.println(key);
		if(key==Canvas.UP){
			if(--selectIndex<0){
				selectIndex=itemNum-1;
			}
			repaint();
		}else if(key==Canvas.DOWN){
			if(++selectIndex>itemNum-1){
				selectIndex=0;
			}
			repaint();
		}else if(key==Canvas.FIRE||keyCode==-7){
			if(selectIndex==0){
				midlet.showGame();
			}else if(selectIndex==1){
				midlet.showHelp();
			}else if(selectIndex==2){
				midlet.showSetting();
			}else if(selectIndex==3){
				midlet.showScore();
			}else if(selectIndex==4){
				midlet.exit();
			}
		}
	}
	
	public void exit(){
		menuImage=null;
		menuItemImage=null;
		buffer=null;
		menuItemInfo=null;
	}
	

}

⌨️ 快捷键说明

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