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

📄 threaddemo2.java

📁 一本介绍手机游戏开发的书中的源代码
💻 JAVA
字号:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.util.*;

public class threadDemo2 extends MIDlet
{
   Display display;
   canvasThread canvasthread;

   public threadDemo2()
   {
      canvasthread=new canvasThread();
      display=Display.getDisplay(this);
   }

   public void startApp()
   {
      display.setCurrent(canvasthread);
   }

   public void pauseApp(){}

   public void destroyApp(boolean unconditional){}

   public class canvasThread extends Canvas 
   {
      int  gameaction=0;
      int  view=0;
      goCanvas gocanvas;
      Thread   t;
      Image[]  cloudImage;
      Image[]  sunImage;

      public canvasThread()
      {
        try{
            cloudImage = new Image[]{
                Image.createImage("/cloud-1.png"),
                Image.createImage("/cloud-2.png"),
                Image.createImage("/cloud-3.png"),
                Image.createImage("/cloud-4.png")
            };
            sunImage = new Image[]{
                Image.createImage("/sun-1.png"),
                Image.createImage("/sun-2.png"),
                Image.createImage("/sun-3.png"),
                Image.createImage("/sun-4.png")
            };
        }catch(Exception ex){}
      }
      
      public void keyPressed(int keyCode) 
      {
         gameaction=getGameAction(keyCode);
         switch(gameaction)
         {
            case FIRE:
                 gocanvas=new goCanvas();
                 t=new Thread(gocanvas);
                 t.start();
                 t=null;
                 break;
         }
      }

      public void setMove(int view){
         this.view=view;
      }

      public void paint(Graphics g)
      { 
         g.setColor(0xFFFFFF);
         g.fillRect(0, 0, getWidth(), getHeight());
         g.setColor(0);
         g.drawString("Runnable磅︽狐笆礶莱ノ", getWidth()/2, 20, Graphics.HCENTER | Graphics.TOP);
         g.drawImage(sunImage[view], getWidth()/2, 50, Graphics.HCENTER | Graphics.TOP);
         g.drawImage(cloudImage[view], getWidth()/2, 50, Graphics.HCENTER | Graphics.TOP);
      }
   }

   public class goCanvas implements Runnable
   {
     boolean  again;
     int view; 

     public goCanvas(){}
  
     public void run()
     {
       while(true)
       {
          try{ 
              canvasthread.setMove(view);
              canvasthread.repaint();
              Thread.sleep(500);
              if(again)
                 view--;
              else
                 view++;
              if(again && view==0)
                 again=false;
              if(!again && view==3)
                 again=true;
          } catch(Exception ex){}
        } 
     }
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -