📄 tank.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 + -