Escapee.java
上传用户:gyyuli
上传日期:2013-07-09
资源大小:3050k
文件大小:2k
源码类别:

J2ME

开发平台:

Java

  1. import javax.microedition.lcdui.game.*;
  2. import javax.microedition.lcdui.*;
  3. public class Escapee extends Sprite {
  4.   private boolean isAlive;
  5.   private boolean isMove = false;
  6.   private int lifecount=0;
  7.   public int lifetime=0;
  8.   static final int SPEED = 3;
  9.   static final int UP = 0;
  10.   static final int LEFT = 1;
  11.   static final int DOWN = 2;
  12.   static final int RIGHT = 3;
  13.   private int frameWidth,frameHeight;
  14.   private int CanvasWidth,CanvasHeight;
  15.   public Escapee(Image image,int frameWidth,int frameHeight){
  16.     super(image,frameWidth,frameHeight);
  17.     this.frameWidth = frameWidth;
  18.     this.frameHeight = frameHeight;
  19.     defineReferencePixel(frameWidth/2 , frameHeight/2 );
  20.     reset();
  21.   }
  22.   public void draw(Graphics g){
  23.     if(!isAlive)return;
  24.     paint(g);
  25.   }
  26.   
  27.   public void setCanvasSize(int CanvasWidth,int CanvasHeight){
  28.     this.CanvasWidth = CanvasWidth;
  29.     this.CanvasHeight = CanvasHeight;
  30.   }
  31.   public void setAlive(boolean isAlive){
  32.     this.isAlive = isAlive;
  33.   }
  34.   public boolean isAlive(){
  35.     return isAlive;
  36.   }
  37.   public void move(int direction){
  38.     if(direction == UP){
  39.     move(0,-SPEED);
  40.     if(getY()<0)setPosition(getX(),0);
  41.     setFrame(0);
  42.     }
  43.     if(direction == DOWN){
  44.     move(0,SPEED);
  45.     if(getY()>CanvasHeight-frameHeight)setPosition(getX(),CanvasHeight-frameHeight);
  46.     setFrame(0);
  47.     }
  48.     if(direction == LEFT){
  49.     move(-SPEED,0);
  50.     if(getX()<0)setPosition(0,getY());
  51.     setFrame(1);
  52.     }
  53.     if(direction == RIGHT){
  54.     move(SPEED,0);
  55.     if(getX()>CanvasWidth-frameWidth)setPosition(CanvasWidth-frameWidth,getY());
  56.     setFrame(2);
  57.     }
  58.     isMove = true;
  59.   }
  60.   public void tick(){
  61.     if(!isMove)setFrame(0);
  62.     if(isMove)isMove = false;
  63.   }
  64.   public void reset(){
  65.     isAlive=true;
  66.     setFrame(0);
  67.   }
  68. }