📄 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);
// Initialize the random number generator
rand = new Random();
// Set the speed
speed = driftSpeed;
// Set the tiled layer barrier
barrier = barrierLayer;
}
public void update() {
// Temporarily save the position
int xPos = getX();
int yPos = getY();
// Randomly move the sprite to simulate drift
switch (Math.abs(rand.nextInt() % 4)) {
// Drift left
case 0:
move(-speed, 0);
break;
// Drift right
case 1:
move(speed, 0);
break;
// Drift up
case 2:
move(0, -speed);
break;
// Drift down
case 3:
move(0, speed);
break;
}
// Check for a collision with the barrier
if ((barrier != null) && collidesWith(barrier, true)) {
// Move the sprite back to its original position
setPosition(xPos, yPos);
}
// Move to the next animation frame in the sequence
nextFrame();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -