tankmove.java
上传用户:guangfa
上传日期:2021-03-17
资源大小:1k
文件大小:2k
源码类别:

射击游戏

开发平台:

Java

  1. import java.io.IOException;
  2. import javax.microedition.lcdui.*;
  3. import javax.microedition.lcdui.game.*;
  4. public class MicroTankSprite
  5.     extends Sprite {
  6.   private int mDirection;
  7.   private int mKX, mKY;
  8.   private int x,y;
  9.   private int delta3;
  10.   private int mLastDelta;
  11.   public static BulletsSprite bullets;  
  12.   private static final int[] kTransformLookup = {
  13.    Sprite.TRANS_MIRROR_ROT270,Sprite.TRANS_MIRROR_ROT270,   
  14.     Sprite.TRANS_ROT90,Sprite.TRANS_NONE, Sprite.TRANS_ROT180 
  15.   };
  16.   
  17.   
  18.   public MicroTankSprite(Image image, int frameWidth, int frameHeight) {
  19.     super(image, frameWidth, frameHeight);
  20.     defineReferencePixel(frameWidth / 2, frameHeight / 2);
  21.     try{bullets=createBullets();
  22.    bullets.setVisible(false);
  23.    // MicroTankCanvas.mLayerManager.append(bullets);
  24.    }catch(IOException ioe){
  25.      }catch(Exception e){
  26.      }
  27. }
  28.    public BulletsSprite createBullets() throws IOException {
  29.     Image image = Image.createImage("/bullets.png");
  30.     return new BulletsSprite(image,3,3);
  31.   }
  32.  
  33.   public void forward(int delta,int delta2 ) {
  34.   if (delta2==1 )
  35.   {fineMove(delta,0);}
  36.   else if (delta2==2)
  37.   {fineMove(delta,0);}
  38.   else if (delta2==3)
  39.   {fineMove(0,delta);}
  40.   else if (delta2==4)
  41.   {fineMove(0,delta);}
  42. setTransform(kTransformLookup[delta2]);
  43. delta3=delta2;
  44.  
  45.        mLastDelta = delta;
  46.    
  47.   }
  48.   
  49.   public void undo() {
  50.      
  51.       forward(-mLastDelta,delta3 );
  52.   }
  53.   
  54.   private void fineMove(int kx, int ky) {
  55.  
  56.   x = getX();
  57.   y = getY();
  58. x+=kx;
  59. y+=ky;
  60.      if (y<0 || y>240)
  61.      {y-=ky;}
  62.  if (x<0 || x>232)
  63.      {x-=kx;}
  64.     setPosition(x, y);
  65.   }
  66. }