www.pudn.com > Puke.rar > AboutScreen.java


import javax.microedition.midlet.*; 
import javax.microedition.lcdui.*; 
import javax.microedition.lcdui.game.*; 
 
  public class AboutScreen extends GameCanvas implements Runnable,CommandListener { 
     private Puke midlet; 
     private boolean Pause,Up; 
     private Sprite title,ordeR; 
     private Image im_orde,im_title,im_about,window; 
     private int Y; 
      
      
  public AboutScreen (Puke midlet) throws Exception { 
  	super(true); 
  	setFullScreenMode(true);   
    this.midlet = midlet;     
    try{ 
		im_orde = Image.createImage("/orde.png"); 
		im_title	= Image.createImage("/title.png"); 
		im_about = Image.createImage("/about.png"); 
		window = Image.createImage("/window.png"); 
	}catch(java.io.IOException e){}   
    title = new Sprite(im_title,80,18); 
    title.setFrame(3); 
    title.setPosition(48,18); 
    Y=48;Up=true; 
    ordeR = new Sprite (im_orde,23,11); 
	ordeR.setPosition(152,208); 
	ordeR.setFrame(2); 
    startThread(); 
    setCommandListener(this); 
  } 
   
  private void startThread(){ 
    	Pause=false; 
    	Thread th=new Thread(this); 
    	th.start();	 
    } 
 
 
  public void commandAction(Command c, Displayable d) { 
  } 
   
  public void keyPressed(int keyCode){              
      switch(keyCode){//三页显示         
      	case -7://SOFT2-后退 
             if(midlet.BackTo==1)      	      
             midlet.mainMenuScreenShow(); 
      	     break; 
      	 
      } 
  } 
  private void input() { 
      int keyStates = getKeyStates(); 
      if((keyStates & FIRE_PRESSED) != 0){ 
      	//中 
      	Up=!Up; 
      }else if ((keyStates & DOWN_PRESSED) !=0 ){ 
    	//下 
    	Up=true; 
    	Y+=3; 
    	 
    	 
      } 
   } 
   
  public void run(){ 
  	   while(!Pause){ 
  	   	   input(); 
  	   	   if(Up)Y-=1;  	   	    
  	   	   try{Thread.sleep(20); 
  	       }catch (Exception e){} 
  	       if(Y<-90){ 
  	       	if(midlet.BackTo==1) 
  	       	 Pause=true; 
  	       	 try{Thread.sleep(3500); 
  	         }catch (Exception e){} 
             midlet.mainMenuScreenShow(); 
  	       } 
  	       if(Y>170)Y=170; 
           repaint(); 
  	   	} 
  	   	 
  	} 
   
   
  public void paint(Graphics g) {  	     
        g.setColor(0x000000); 
		g.fillRect(0,0,getWidth(),getHeight());		 
        g.drawImage(im_about,27,Y,Graphics.TOP|Graphics.LEFT); 
        g.drawImage(window,0,0,Graphics.TOP|Graphics.LEFT); 
        title.paint(g); 
        ordeR.paint(g); 
 
  } 
   
 
}