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

📄 tank.java

📁 j2me游戏编程光盘源码
💻 JAVA
字号:
import net.jscience.math.kvm.MathFP;

import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

public class Tank extends Actor
{
   private static ImageSet tankImageSet;
   private Sprite tankSprite;

   public Tank(World worldArg)
   {
      super(worldArg);
   }

   public final void init(int x, int y)
   {
      int alignedDiv = 16;
      int thrust = 0;
      int speed = 0;
      int maxVel = 2;
      int dir = 0;
      int bounceVel = Actor.FP_MINUS_05;
      int maxSpinRate = 23;

      tankSprite = new Sprite(tankImageSet, 0, 0);

      reset();

      super.init(null, x, y, thrust, speed, maxVel, dir, alignedDiv, bounceVel, maxSpinRate);
   }

   public final static void setup()
   {
      Image tankImage = ImageSet.loadClippedImage("/tank.png", 0, 0);
      tankImageSet = new ImageSet(16);
      Image[] tankImages = ImageSet.extractFrames(tankImage, 0, 0, 4, 4, 32, 32);

      for (int i=0; i < 16; i++)
      {
         Image[] s = { tankImages[i] };
         tankImageSet.addState(s, 0);
      }
   }

   public final int getWidth()
   {
      return 32;
   }

   public final int getHeight()
   {
      return getWidth();
   }

   public final void onCollision(Actor a)
   {
   }

   public final void cycle(long deltaMS)
   {
      super.cycle(deltaMS);
   }

   public final void render(Graphics g, int offsetX, int offsetY)
   {
      int s = MathFP.toInt(MathFP.div(MathFP.toFP(getDirection()), Actor.FP_225));
      if (s != tankSprite.getCurrentState())
         tankSprite.setState(s, false);
      tankSprite.draw(g, getX() - offsetX, getY() - offsetY);
   }


}















⌨️ 快捷键说明

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