Java:定义新Rectangle时的数组语法错误

Aea*_*nus 0 java arrays android

好的,所以我真的无法想出这个.我定义了一个数组,playerPos,像这样:

int[] playerPos = new int[]{32, 32};
Run Code Online (Sandbox Code Playgroud)

第一个数字是x值,第二个是y值.但是,当我尝试使用它来定义一个矩形时,我在这里得到一个语法错误:

        for (int x = 0 ; x < 64; x++) {
        for (int y = 0 ; y < 64; y++) {
            switch(map[x][y]) {
            case 1:
                mapRects[x][y] = new Rect(x - playerPos[0])*64, (y - playerPos[1])*64, ((x - playerPos[0])*64)+64, ((y - playerPos[1])*64)+64);
                break;

            case 2:
                mapRects[x][y] = new Rect(x - playerPos[0])*64, ((y - playerPos[1])*64)-64, ((x - playerPos[0])*64)+64, ((y - playerPos[1])*64)+64);
                break;
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

无论我在哪里说新的Rect(),它都会在所有逗号上说出语法错误

Syntax error on token ",", [ expected
Run Code Online (Sandbox Code Playgroud)

它说,最后一个数字

Syntax error, insert "]" to complete Expression
Run Code Online (Sandbox Code Playgroud)

我不知道出了什么问题.救命?

imr*_*eal 5

这是一个括号问题:

new Rect(x - playerPos[0])*64 ...
Run Code Online (Sandbox Code Playgroud)

您可能需要添加一个这样的开头:

new Rect((x - playerPos[0])*64 ...
Run Code Online (Sandbox Code Playgroud)

  • 哇,这可能是我一生中犯过的最愚蠢的错误.更重要的是,我没有注意到.非常感谢! (2认同)