📄 menu.java
字号:
import javax.microedition.lcdui.*;
import java.io.*;
import javax.microedition.lcdui.game.Sprite;
public class Menu
{
public Menu()
{
menuIndex = 0;
try
{
backGround = Image.createImage("/menu.png");
other = Image.createImage("/other.png"); }
catch (IOException ex)
{
}
piece = new Image[data.length];
for(int i = 0;i < data.length;i ++){
piece[i] = Image.createImage(other,data[i][1],data[i][2],data[i][3],data[i][4],Sprite.TRANS_NONE);
}
}
static final int data[][]={
{0,0,0,176,75}, //索引:[0]标题
{0,0,76,118,21}, //索引:[1]选择框
{0,0,97,60,19}, //索引:[2]开始
{0,67,97,66,19}, //索引:[3]关于
{0,0,116,88,19}, //索引:[4]控制
{0,91,116,42,21}, //索引:[5]退出
{0,0,137,99,8}, //索引:[6]press any key
{0,0,145,67,13} //索引:[7]loading
};
Image backGround;
Image other;
Image[] piece;
private final int itemNum = 4;
void paint(Graphics g){
g.drawImage(backGround,GameCanvas.SCREEN_WIDTH>>1,GameCanvas.SCREEN_HEIGHT>>1,Graphics.HCENTER|Graphics.VCENTER);
g.drawImage(piece[0],GameCanvas.SCREEN_WIDTH>>1,0,Graphics.HCENTER|Graphics.TOP);
changeRoleFrameIndex();
for(int i = 0;i < 4;i++){
if(i == menuIndex){
Tools.drawNpcItemData(g,OBJECT,0,frameIndex,15,piece[0].getHeight()+(i+1)*(piece[1].getHeight()+5)-10,true);
Tools.drawNpcItemData(g,OBJECT,0,frameIndex,GameCanvas.SCREEN_WIDTH-15,piece[0].getHeight()+(i+1)*(piece[1].getHeight()+5)-10,true);
}
g.drawImage(piece[1],GameCanvas.SCREEN_WIDTH>>1,piece[0].getHeight()+i*(piece[1].getHeight()+5),Graphics.HCENTER|Graphics.TOP);
g.drawImage(piece[2+i],GameCanvas.SCREEN_WIDTH>>1,piece[0].getHeight()+i*(piece[1].getHeight()+5),Graphics.HCENTER|Graphics.TOP);
}
}
int menuIndex;
int keyPress(int keyCode)
{
switch (keyCode)
{
case GameCanvas.UP:
menuIndex = --menuIndex > 0 ? menuIndex : itemNum - 1;
break;
case GameCanvas.DOWN:
menuIndex = ++menuIndex < itemNum ? menuIndex : 0;
break;
case GameCanvas.FIRE:
return menuIndex;
}
return -1;
}
private int frameIndex;
private int aniIndex; //切换帧使用到的中间过渡变量
private final int OBJECT = 6;
private final void changeRoleFrameIndex()
{
if (aniIndex >= Data.frameItemIndex[OBJECT][0].length)
{
aniIndex = 0;
}
frameIndex = Data.frameItemIndex[OBJECT][0][aniIndex];
aniIndex++;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -