📄 maincanvas.java
字号:
import javax.microedition.lcdui.*;
import mmae.ui.*;
public class MainCanvas extends XCanvas {
ItemBase list;
Image bgImg,skyImg,hwoodImg,monkgameImg,mwoodImg,robotImg,menutextImg,buttonImg,mfwoodImg,backgroundImg;
int hwoodY,hwoodHD,monkgameX,monkgameHD,menuX,menuHD,buttonY;
boolean hwoodShow,monkgameShow,menuShow,buttonShow;
Animate button,menu;
boolean keyEnable = false;
public MainCanvas()
{
/***********************************************
以下为主界面初使化内容
***********************************************/
//初使化
list = new ItemBase(3);
list.setItem(0,go.STR_NEWGAME);
list.setItem(1,go.STR_SCOREHIGH);
list.setItem(2,go.STR_HELP);
bgImg = go.getImage("/BG.png");
skyImg = go.getImage("/Sky.png");
hwoodImg = go.getImage("/HWood.png");
monkgameImg = go.getImage("/MONKGame.png");
mwoodImg = go.getImage("/MWood.png");
robotImg = go.getImage("/RobotBG.png");
menutextImg = go.getImage("/MenuText.png");
buttonImg = go.getImage("/Button.png");
mfwoodImg = go.getImage("/MFWood.png");
backgroundImg= go.getImage("/BackGround.png");
button = new Animate(buttonImg,50,19);
menu = new Animate(menutextImg,46,12);
hwoodShow = false;
monkgameShow = true;
menuShow = true;
buttonShow = false;
hwoodY = -48;
hwoodHD = 4;
monkgameX = -120;
monkgameHD = 4;
menuX = -125;
menuHD = 2;
buttonY = 23;
//打开线程
start(20);
}
public void keyPressed(int keyCode)
{
if(keyEnable==false)return;
//左右软键处理
switch(keyCode)
{
case SOFTKEY2:
go.exit();
break;
case SOFTKEY1:
pressOk(list.getFocusIndex());
break;
}
//游戏键处理
switch(getGameAction(keyCode))
{
case UP:
list.prevItem();
break;
case DOWN:
list.nextItem();
break;
case FIRE:
pressOk(list.getFocusIndex());
break;
}
repaint();
}
//选项确认处理
public void pressOk(int index)
{
/***********************************************
以下为确定键处理内容
***********************************************/
switch(index)
{
case 0:
go.changeCanvas(go.CVS_PLAY,true);
break;
case 1:
go.changeCanvas(go.CVS_SCORE,true);
break;
case 2:
go.changeCanvas(go.CVS_HELP,true);
break;
case 3:
go.exit();
break;
}
kill();
}
public void paint(Graphics g)
{
/***********************************************
以下为主界面显示内容
***********************************************/
g.setClip(0,0,getWidth(),getHeight());
for(int i=0;i<3;i++)
g.drawImage(backgroundImg,0,(i+1)*40+48,g.TOP|g.LEFT);
//g.setColor();
for(int i=0;i<getWidth()/skyImg.getWidth()+1;i++)
{
g.drawImage(skyImg,i*skyImg.getWidth(),0,g.TOP|g.LEFT);
}
g.drawImage(bgImg,-30,40,g.TOP|g.LEFT);
g.drawImage(robotImg,getWidth()-robotImg.getWidth(),getHeight()-robotImg.getHeight(),g.TOP|g.LEFT);
g.drawImage(hwoodImg,(getWidth()-hwoodImg.getWidth())/2,hwoodY,g.TOP|g.LEFT);
g.drawImage(monkgameImg,monkgameX,11,g.TOP|g.LEFT);
int text_w = (mwoodImg.getWidth()-menu.getWidth())/2;
Image[] iwood = new Image[3];
for(int i=0;i<3;i++)
if (list.getFocusIndex()==i) iwood[i] = mfwoodImg;
else iwood[i] = mwoodImg;
g.drawImage(iwood[0],menuX-4,87,g.TOP|g.LEFT);
g.drawImage(iwood[1],getWidth()-menuX-mwoodImg.getWidth()+6,117,g.TOP|g.LEFT);
g.drawImage(iwood[2],menuX-4,147,g.TOP|g.LEFT);
menu.setFrame(0);
menu.setPosition(text_w+menuX-4,91);
menu.draw(g);
menu.setFrame(1);
menu.setPosition(text_w+getWidth()-menuX-mwoodImg.getWidth()+6,121);
menu.draw(g);
menu.setFrame(2);
menu.setPosition(text_w+menuX-4,151);
menu.draw(g);
button.setFrame(0);
button.setPosition(2,getHeight()-button.getHeight()-2+buttonY);
button.draw(g);
button.setFrame(1);
button.setPosition(getWidth()-button.getWidth()-2,getHeight()-button.getHeight()-2+buttonY);
button.draw(g);
}
//线程主干
public void update()
{
/***********************************************
以下为主界面线程处理内容
***********************************************/
if(hwoodShow==false)
{
if(hwoodY<25)
{
hwoodY += hwoodHD;
}
else
{
hwoodY -= hwoodHD;
hwoodHD--;
}
repaint(0,0,getWidth(),80);
if(hwoodHD<0)
{
hwoodShow = true;
}
if(hwoodHD<3) monkgameShow = false;
}
if(monkgameShow==false)
{
if(monkgameX < 2)
{
monkgameX += monkgameHD;
}
else
{
monkgameX -= monkgameHD;
monkgameHD --;
}
repaint(0,0,getWidth(),80);
if(monkgameHD<0)
{
monkgameShow = true;
}
if(monkgameHD<2)menuShow = false;
}
if(menuShow==false)
{
if(menuX <= (getWidth()-mwoodImg.getWidth())/2)
{
menuX += 8;
}
else
{
//menuX -= menuHD;
//menuHD --;
menuHD = -1;
}
repaint(0,80,getWidth(),120);
if(menuHD<0)
{
menuShow = true;
buttonShow = true;
}
}
if(buttonShow)
{
if(buttonY>0)
buttonY-=1;
else
{
buttonShow = false;
keyEnable = true;
kill();
}
repaint(0,180,getWidth(),30);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -