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

📄 sprite例子.txt

📁 简单的java系统碰撞检测,可以看看 不过可能有很多不一样的,还是自己写的好哈!~
💻 TXT
字号:
import   javax.microedition.midlet.*   ;   
  import   javax.microedition.lcdui.*   ;   
  public   class   GameMIDlet   extends   MIDlet   
  implements   CommandListener   
  {   
                  Display   display   ;   
                  public   GameMIDlet()   
                  {   
                                  display   =   Display.getDisplay(this)   ;   
                  }   
                  //MyGameCanvas   mgc   ;   
                  //MyGameWithInputCanvas   mgc   ;   
                  MyGameWithSpriteCanvas   mgc   ;   
                  //MyGameWithSpriteCanvas1   mgc   ;   
                  //MyGameWithSpriteCanvas2   mgc   ;   
                  public   void   startApp()   
                  {   
                                  if(mgc==null)   
                                  {   
                                                  //mgc   =   new   MyGameCanvas();   
                                                  //mgc   =   new   MyGameWithInputCanvas();   
                                                  mgc   =   new   MyGameWithSpriteCanvas();   
                                                  //mgc   =   new   MyGameWithSpriteCanvas1();   
                                                  //mgc   =   new   MyGameWithSpriteCanvas2();   
                                                  mgc.addCommand(new   Command("开始",   Command.OK,   1));   
                                                  mgc.addCommand(new   Command("结束",   Command.EXIT,   2));   
                                                  mgc.setCommandListener(this);   
                                                  display.setCurrent(mgc);   
                                  }   
                  }   
                  public   void   commandAction(Command   c,Displayable   s)   
                  {   
                                  String   cmd   =   c.getLabel()   ;   
                                  if(cmd.equals("开始"))   
                                  {   
                                                  mgc.start()   ;   
                                  }else   if(cmd.equals("结束"))   
                                  {   
                                                  mgc.exit()   ;   
                                                  notifyDestroyed()   ;   
                                  }   
    
                  }   
                  public   void   pauseApp()   
                  {   
    
                  }   
                  public   void   destroyApp(boolean   unconditional)   
                  {   
                  }   
  }   
    
  文件2   
  import   javax.microedition.lcdui.*   ;   
  import   javax.microedition.lcdui.game.*   ;   
    
  public   class   MyGameWithSpriteCanvas   extends   GameCanvas   
  implements   Runnable   
  {   
                  private   LayerManager   lm;   
                  private   Sprite   c1   ;   
                  public   MyGameWithSpriteCanvas()   
                  {   
                                  super(true)   ;   
                                  lm   =   new   LayerManager();   
                                  c1   =   createCharacter("/pic/character1.png")   ;   
                                  lm.append(c1);   
                  }   
                  private   Sprite   createCharacter(String   pic)   
                  {   
                                  Image   img   =   null   ;   
                                  try   
                                  {   
                                                  img   =   Image.createImage(pic);   
                                  }catch(Exception   exp)   
                                  {   
                                                  System.out.println(exp);   
                                  }   
                                  return   new   Sprite(img,64,64)     ;   
                  }   
                  boolean   conti   =   true   ;   
                  int   rate   =   100   ;   
                  public   void   run()   
                  {   
                                  long   st   =   0   ;   
                                  long   et   =   0   ;   
                                  Graphics   g   =   getGraphics()   ;   
                                  while(conti)   
                                  {   
                                                  st   =   System.currentTimeMillis()   ;   
                                                  input()   ;   
                                                  render(g)   ;   
                                                  et   =   System.currentTimeMillis()   ;   
                                                  if((et-st)<rate)   
                                                  {   
                                                                  try   
                                                                  {   
                                                                                  Thread.sleep(rate-(et-st));   
                                                                  }catch(Exception   exp){}   
                                                  }   
                                  }   
                  }   
                  int   x   =   10   ;   
                  int   y   =   10   ;   
                  public   void   input()   
                  {   
                                  int   keystate   =   getKeyStates()   ;   
                                  if((keystate   &   UP_PRESSED)!=0)   
                                  {   
                                                  y   =   y   -   2   ;   
                                  }else   if((keystate   &   DOWN_PRESSED)!=0)   
                                  {   
                                                  y   =   y   +   2   ;   
                                  }else   if((keystate   &   LEFT_PRESSED)!=0)   
                                  {   
                                                  x   =   x   -   2   ;   
                                  }else   if((keystate   &   RIGHT_PRESSED)!=0)   
                                  {   
                                                  x   =   x   +   2   ;   
                                  }   
    
                  }   
                  public   void   render(Graphics   g)   
                  {   
                                  g.setColor(255,255,255);   
                                  g.fillRect(0,0,getWidth(),getHeight());   
    
                                  c1.nextFrame();   
                                  lm.setViewWindow(0,0,x,y);   
                                  lm.paint(g,10,10);   
    
                                  g.setColor(0,0,0);   
                                  g.drawRect(10,10,128,128);   
                                  flushGraphics()   ;   
                  }   
                  public   void   start()   
                  {   
                                  Thread   t   =   new   Thread(this)   ;   
                                  t.start();   
                  }   
                  public   void   exit()   
                  {   
                                  conti   =   false   ;   
                  }   
  }   
    

⌨️ 快捷键说明

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