我正在用java开发一个落块游戏,你必须在屏幕上移动玩家来躲避块。每当你被一个方块击中时,根据方块的类型,它会减少或增加玩家类中的 int。我遇到的问题是,当玩家被方块击中时,int 会不断下降,直到现在不可见的方块离开屏幕。基本上我只需要一种方法来检查对象数组,当对象满足指定条件(例如(delete == true))时,它将将该块在数组中的当前位置设置为空。
块位置更新方法:
public void dropFoods(int speed) {
for (int x = 699 - speed; x >= 0; x--) {
for (int y = 0; y < 7; y++) {
if(x > (699 - GUI.HEIGHT) - 10) {
food[y][x] = null;
continue;
}
food[y][x + speed] = food[y][x];
food[y][x] = null;
}
}
}
积木的绘制方法(食物是不同类型的积木):
for(int x = 0; x < food.length; x++) {
for(int y = 0; y < food[x].length; y ++) {
Object o = food[x][y];
if(o instanceof Apple) {
new Apple(x * 100, y - Apple.HEIGHT, g);
}
if(o instanceof Burger) {
new Burger(x * 100, y - Burger.HEIGHT, g);
}
}
}
检测与玩家碰撞的方法:
if(Food.getHitBox().intersects(Player.hitBox())) {
willDraw = false;
Player.weight -= 1;
}