📄 bnb_vehicle.java
字号:
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;
public final class BnB_Vehicle extends Sprite
{
public int speed;//游戏中坐骑的移动速度。
private long lastTime, intervalTime;
/**
* 构造方法:设定
* @param img
* @param w
* @param h
* @param ID
* 1是 乌龟;
* 2是 飞碟;
* 3是 猫头鹰;
* 4是 海盗龟;
* 5是 高级飞碟;
*/
public BnB_Vehicle(Image img, int w, int h, int ID)
{
super(img, w, h);
this.defineReferencePixel(getX() + (getWidth() >>> 1), getY()
+ (getHeight() >>> 1));
switch (ID)
{
case 1:
speed = 2;
break;
case 2:
speed = 2;
break;
case 3:
speed = 4;
break;
case 4:
speed = 6;
break;
case 5:
speed = 6;
break;
}
}
/***
* @方法说明:坐骑往左移动
*/
public final void moveLeft()
{
runFrame(4, 5);
move(-speed, 0);
}
/***
* @方法说明:坐骑往右移动
*/
public final void moveRight()
{
runFrame(6, 7);
move(speed, 0);
}
/***
* @方法说明:坐骑往上移动
*/
public final void moveUp()
{
runFrame(0, 1);
move(0, -speed);
}
/***
* @方法说明:坐骑往下移动
*/
public final void moveDown()
{
runFrame(2, 3);
move(0, speed);
}
/***
* @方法说明:动画桢的切换
*/
private final void runFrame(int startFrame, int endFrame)
{
if (this.getFrame() < startFrame || this.getFrame() >= endFrame)
{
this.setFrame(startFrame);
}
if (isNextFrame(500))
{
this.nextFrame();
}
}
/***
* @方法说明:动画桢切换的记时器。
*/
private final boolean isNextFrame(int nextFrameTime)
{
intervalTime = System.currentTimeMillis() - lastTime;
if (intervalTime >= nextFrameTime)
{
lastTime = System.currentTimeMillis();
return true;
}
return false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -