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

📄 mycanvas.java

📁 Game_Anim_Java_MIDP_v1_0.zip详细的介绍了midp1.0中动画的制作
💻 JAVA
字号:
package example;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: Sensible Development Ltd</p> * @author Alan Newman * @version 1.0 */import javax.microedition.lcdui.*;public class MyCanvas extends Canvas implements Runnable, CommandListener{  private ExampleMidlet midlet;  private volatile Thread animationThread=null;  private static int canvasHeight, canvasWidth;  private final MyMovingObject myMovingObject;  private final MyBackground myBackground;  private Image buffer;  private Graphics graphics;  private boolean running;  private final int SLEEP=10;  private Command exit;  private Command memory;  public MyCanvas(ExampleMidlet midlet)  {    this.midlet=midlet;    canvasHeight=getHeight();    canvasWidth=getWidth();    myMovingObject=new MyMovingObject();    myBackground=new MyBackground();    buffer=Image.createImage(canvasWidth, canvasHeight);    graphics=buffer.getGraphics();    exit=new Command("Exit", Command.STOP,1);    memory=new Command("Memory", Command.SCREEN,1);    this.addCommand(exit);    this.addCommand(memory);    this.setCommandListener(this);  }  public static int getCanvasHeight() {return canvasHeight;}  public static int getCanvasWidth() {return canvasWidth;}  synchronized void start()  {    running=true;    animationThread=new Thread(this);    animationThread.start();  }  public void run()  {    try    {      while (running)      {        repaint(0,0,canvasWidth, canvasHeight);        serviceRepaints();        Thread.sleep(SLEEP);      }    }    catch(InterruptedException ie)    {      System.out.println(ie.toString());    }  }  synchronized void stop()  {    running=false;  }  public void paint (Graphics g)  {    drawAnimation(g);  }  private void drawAnimation(Graphics gr)  {    Graphics g=gr;    if(this.isDoubleBuffered())    {      g=graphics;    }    try    {      myBackground.draw(g);      myBackground.setPosition();      myMovingObject.setFrame();      myMovingObject.draw(g);      gr.drawImage(buffer,0,0,g.TOP|g.LEFT);    }    catch(Exception e)    {      System.out.println("drawAnimation Error: "+e.toString());    }  }  public void commandAction(Command c, Displayable d)  {    //if any Exit key is pressed then exit    if(c==exit)    {      midlet.exitMidlet();    }    else if(c==memory)    {      System.out.println("Free memory: "+Runtime.getRuntime().freeMemory());    }  }}

⌨️ 快捷键说明

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