?? menucanvas.java
字號:
import java.io.*;
import javax.microedition.lcdui.*;
import com.nokia.mid.ui.FullCanvas;
class menuCanvas extends Canvas
{
private int n_menu;
/* private String[] smenu={
"開始", " ", "退出"
} ;
private String sound[]={"聲音開","聲音關"};*/
private String[] smenu={
"start", " ", "exit"
} ;
private String sound[]={"sound on","sound off"};
private int WIDTH;
private int HEIGHT;
private int jianju=5; //行間距
private int status;
/////////////////////////////////////////加載游戲時的參數,及Display對象
private boolean volume;
//public boolean bvibrator;
//public Display disp;
private FanJian parent;
private Image imageBack;
private Image imageMonternet;
private int imageHeight;
private int imageWidth;
/////////////////////////////////////////
public menuCanvas ( FanJian p )
{
n_menu=0;
parent=p;
volume=parent.volume;
WIDTH=getWidth();
HEIGHT=getHeight();
status=0;
if(volume)
smenu[1]=sound[0];
else
smenu[1]=sound[1];
try
{
imageMonternet=Image.createImage("/png-picture/monternet.png");
imageBack=Image.createImage("/png-picture/splash.png");
imageHeight=imageBack.getHeight();
imageWidth=imageBack.getWidth();
}
catch(IOException e)
{ System.out.println("menuCanvas failue!"); }
}
public void keyPressed( int code )
{
if( status<100)
return;
int action=getGameAction(code);
if(action==UP || action==LEFT)
{
n_menu= n_menu>1 ? n_menu-1 : 0 ;
System.out.println("n_menu:"+n_menu);
repaint();
}
else if(action==DOWN || action==RIGHT)
{
n_menu=n_menu<smenu.length-2 ? n_menu+1 : smenu.length-1;
System.out.println("n_menu:"+n_menu);
repaint();
}
else if(action==FIRE)
{
switch(n_menu)
{
case 0:
parent.volume=volume;
parent.startORexit=1;
break;
case 1:
volume= !volume ;
if(volume)
smenu[1]=sound[0];
else
smenu[1]=sound[1];
repaint();
break;
case 2:
parent.startORexit=-1;
break;
}
}
}
public void paint( Graphics g )
{
if(status==0)
{
g.setColor(0,0,0);
g.fillRect(0,0,WIDTH,HEIGHT);
g.drawImage(imageMonternet, WIDTH / 2, HEIGHT / 2, Graphics.HCENTER | Graphics.VCENTER );
}
if( status<100 )
{
status++;
return ;
}
if(status==100)
{
g.setColor(0,0,0);
g.fillRect(0,0,WIDTH,HEIGHT);
g.drawImage(imageBack, WIDTH / 2, HEIGHT / 2, Graphics.HCENTER | Graphics.VCENTER );
}
int n=smenu.length;
int X=(WIDTH - imageWidth)/2 + imageWidth/(2*n);
int Y=HEIGHT/2 + imageHeight/2 + jianju;
for( int j=0; j<n;j++)
{
if( j==n_menu) // 當前選中的菜單項
{
g.setColor(0,0,255);
g.drawString(smenu[j],X+j*(imageWidth/n),Y,Graphics.HCENTER | Graphics.TOP);
g.drawString(smenu[j],X+j*(imageWidth/n)+1,Y-1,Graphics.HCENTER | Graphics.TOP);
}
else
{
g.setColor(255,255,255);
g.drawString(smenu[j],X+j*(imageWidth/n),Y,Graphics.HCENTER | Graphics.TOP);
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -