📄 menucanvas.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 + -