处理'看起来你正在混合“主动”和“静态”模式。

时间:2011-07-12 02:15:57

标签: comments processing

即使它只是一个打印命令,处理时仍然会给我这个错误。当我删除评论块时,它工作正常。这是代码:

/*
    float[] cortToPolar(int xcorr, int ycorr) {
    float returns[] = new float[2];
    returns[0]= degrees(tan(ycorr/xcorr));
    returns[1]= sqrt(pow(xcorr,2)+pow(ycorr,2));
    return returns;
}

float lawCos(int a, int b, int c) {
  return degrees(
     acos(
     (pow(a,2)+pow(b,2)-pow(c,2))/
       (2*a*b)
     )
  );
}
*/
print(0); 

为什么不喜欢我的评论?

2 个答案:

答案 0 :(得分:12)

处理以两种不同的模式运行:静态活动

静态模式只是意味着它是现有函数的指令/调用列表(例如,绘制一堆行然后退出)

有效模式使用设置() draw()调用并持续运行(每个'帧'更新)。

即使您正在使用注释,您也会在这些注释中定义方法(cortToPolar,lawCos),而Processing会遇到那些导致错误的原因。

使用setup()调用进行打印:

/*
    float[] cortToPolar(int xcorr, int ycorr) {
    float returns[] = new float[2];
    returns[0]= degrees(tan(ycorr/xcorr));
    returns[1]= sqrt(pow(xcorr,2)+pow(ycorr,2));
    return returns;
}

float lawCos(int a, int b, int c) {
  return degrees(
     acos(
     (pow(a,2)+pow(b,2)-pow(c,2))/
       (2*a*b)
     )
  );
}
*/
void setup(){
  print(0);
}

有效模式下,您可以使用noLoop()loop()以及 draw()

来控制帧更新

答案 1 :(得分:1)

当实际问题是语法错误时,可能会显示该消息。我用以下(愚蠢)代码遇到了这个错误:

boolean state = false;

setup() {
  size(200, 800);
}

void draw() {
}

缺少设置功能的'void'修饰符。这是语法错误(至少应该是这样)。但处理IDE会为您提供此“主动与静态”消息。

因此,在这种情况下,它应该是void setup() { },而不仅仅是setup() { }