📄 driftsprite.java
字号:
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import java.util.*;
public class DriftSprite extends Sprite {
private Random rand;
private int speed;
private TiledLayer barrier;
public DriftSprite(
Image image, int frameWidth, int frameHeight,
int driftSpeed, TiledLayer barrierLayer) {
// 调用父类的构造器
super(image, frameWidth, frameHeight);
// 初始化随机数生成器
rand = new Random();
// 设置速度
speed = driftSpeed;
// 设置障碍物图层
barrier = barrierLayer;
}
public void update() {
// 暂时保存当前位置
int xPos = getX();
int yPos = getY();
// 随机移动精灵,模拟漂移运动
switch (Math.abs(rand.nextInt() % 4)) {
case 0: move(-speed, 0);break;//向左移动
case 1: move(speed, 0); break;//向右移动
case 2: move(0, -speed);break;//向上移动
case 3: move(0, speed);break;//向下移动
}
// 检查精灵是否与障碍物图层碰撞
if ((barrier != null) && collidesWith(barrier, true)) {
// 将精灵移回移动前的位置
setPosition(xPos, yPos);
}
// 显示精灵的下一帧
nextFrame();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -