处理中:未使用的代码错误

时间:2019-11-12 12:10:17

标签: java processing

我正在尝试测量运行某些功能所花费的时间,但是在处理过程中出现错误:playInvadersMoveSoundStart无法解析为变量。

在我的文档顶部:

boolean debug;

在设置中:

debug = false;

主抽奖:

case 2:
    background(0);
    if (debug){
        double gameLoopStart = millis();
        println("fps " +frameRate);
        int playInvadersMoveSoundStart = millis();
    }
    playInvadersMoveSound();
    if (debug){
        int playInvadersMoveSoundEnd = millis();
        int playInvadersMoveSoundTime = (playInvadersMoveSoundEnd - playInvadersMoveSoundStart);
        println("playInvadersMoveSound " +playInvadersMoveSoundTime);
        int displayBunkersStart = millis();
    }

我一般来说是一个非常新的处理和编程人员,所以可能是我不了解的东西,但是我认为如果处理停止进行错误检查,代码将运行良好。我的意思是-Debug设置为false,因此Processing正在抱怨的代码无法运行。对吧?

1 个答案:

答案 0 :(得分:0)

变量playInvadersMoveSoundStartif语句的块范围内声明:

if (debug){
    // [...]
    int playInvadersMoveSoundStart = millis();
}

因此,在if语句的块范围之外无法访问该变量。 将变量声明移到if之前:

case 2:
{
    background(0);

    int playInvadersMoveSoundStart = 0;
    if (debug){
        double gameLoopStart = millis();
        println("fps " +frameRate);
        playInvadersMoveSoundStart = millis();
    }
    playInvadersMoveSound(); 
    if (debug){
        int playInvadersMoveSoundEnd = millis();
        int playInvadersMoveSoundTime = playInvadersMoveSoundEnd - playInvadersMoveSoundStart;
        println("playInvadersMoveSound " +playInvadersMoveSoundTime);
    }
}