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

📄 menucanvas.java

📁 S60系列手机的游戏起舞街车源码
💻 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 + -