java无法访问代码错误(渲染类游戏开发)

时间:2015-05-27 01:28:15

标签: java game-engine

我一直在研究java游戏引擎,但我的渲染不断得到无法访问的代码错误。错误出现在setPixels方法中。

{{1}}

2 个答案:

答案 0 :(得分:1)

我认为这是你要做的事情? 您的if语句不应包含函数中的所有语句。

public void setPixel(int x, int y, float a, float r, float g, float b){

    // Check for invalid values
    if((x < 0 || x>= width || y < 0 || y>= height) || a == 0){
        // Break out of function if invalid values detected
        return;
    }

    // Update pixel
    int index = (x + y * width) * 4;
    pixels[index] = (byte)((a * 255f) + 0.5f);
    pixels[index + 1] = (byte)((b * 255f) + 0.5f);
    pixels[index + 2] = (byte)((g * 255f) + 0.5f);
    pixels[index + 3] = (byte)((r * 255f) + 0.5f);
}

答案 1 :(得分:0)

return语句结束方法的执行。如果在下面的代码中运行if语句,则该方法将在return之前结束并在执行所有其他操作之前结束。您似乎不需要在return中使用setPixel语句,因为不需要提前终止该方法。

public void setPixel(int x, int y, float a, float r, float g, float b) {
    if((x < 0 || x>= width || y < 0 || y>= height) || a == 0){
        //return;

        int index = (x + y * width) * 4;
        pixels[index] = (byte)((a * 255f) + 0.5f);
        pixels[index + 1] = (byte)((b * 255f) + 0.5f);
        pixels[index + 2] = (byte)((g * 255f) + 0.5f);
        pixels[index + 3] = (byte)((r * 255f) + 0.5f);

    }
}