我的砖块断路器课程游戏有点问题。 我试图通过使用数组使游戏产生砖块但是我遇到了一个“需要数组但发现java.util.List”的错误。
有人可以帮忙吗?
我遇到问题的课程:
public void createGameObjects()
{
synchronized( Model.class )
{
ball = new GameObj(W/2, H/2, BALL_SIZE, BALL_SIZE, Colour.RED );
bat = new GameObj(W/2, H - BRICK_HEIGHT*1.5f, BRICK_WIDTH*3,
BRICK_HEIGHT/4, Colour.GRAY);
bricks = new ArrayList<>();
bricks[0] = new GameObj(0,0, BRICK_HEIGHT, BRICK_WIDTH, Colour.BLUE);
}
}
错误发生在底线:
bricks[0] = new GameObj(0,0, BRICK_HEIGHT, BRICK_WIDTH, Colour.BLUE);
谢谢
答案 0 :(得分:1)
您将bricks
声称为ArrayList
并尝试以array
方式访问元素,因此出现错误。尝试更改以下内容:
bricks = new ArrayList<>();
bricks[0] = new GameObj(0,0, BRICK_HEIGHT, BRICK_WIDTH, Colour.BLUE);
到
bricks = new ArrayList<>();
bricks.add(new GameObj(0,0, BRICK_HEIGHT, BRICK_WIDTH, Colour.BLUE));
这将在ArrayList
。
答案 1 :(得分:0)
您无法使用[index]
(数组syantax)访问add
元素,而是使用Game
方法并假设您正在将ArrayList<Game>
个对象加载到{{ 1}},您需要添加到bricks
List
,如下所示:
ArrayList<Game> bricks = new ArrayList<>();
bricks.addd(new GameObj(0,0, BRICK_HEIGHT, BRICK_WIDTH, Colour.BLUE));