我正在尝试测量运行某些功能所花费的时间,但是在处理过程中出现错误: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正在抱怨的代码无法运行。对吧?
答案 0 :(得分:0)
变量playInvadersMoveSoundStart
在if
语句的块范围内声明:
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);
}
}