我正在 android studio 中编写一个突破性的游戏。我已经将砖块排列成一个阵列,然后将它们设置好进行涂漆。然而,所有的砖都被涂在彼此的顶部。
BreakoutView 类摘录:
private static final int rows = 5;
private static final int columns = 10;
private static final int brickHeight = 50;
private static final int brickWidth = 100;
int brickX = 0;
int brickY = 0;
int brickSpaces = 0;
private Sprite[] bricks;
public BreakoutView(Context context, AttributeSet attrs) {
super(context, attrs);
bricks = new Sprite[rows * columns];
for (Sprite brick: bricks) {
brick.setSize(brickWidth, brickHeight);
brick.setLocation(brickX, brickY);
brick.paint.setARGB(255,250,0,0);
}
}
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
for (Sprite brick : bricks) {
for (int r = 0; r <= rows; r++) {
brickY = brickHeight + brickSpaces;
for (int c = 0; c <= columns; c++) {
brickX = brickWidth + brickSpaces;
brickSpaces = 10;
}
}
}
}
精灵类:
public class Sprite {
public RectF rect = new RectF();
public float dx = 0;
public float dy = 0;
public Paint paint = new Paint();
public Sprite(float x, float y, float width, float height) {
setLocation(x, y);
setSize(width, height);
}
}