Обработка "Похоже, вы смешиваете" активный "и" статический "режимы".

Обработка продолжает давать мне эту ошибку, когда я запускаю ее, даже если это только команда печати. Когда я удаляю блок комментариев, он отлично работает. Здесь код:

/*
    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); 

Почему мне не нравится мой комментарий?

Ответ 1

Обработка выполняется в двух отдельных режимах: Статический или активный

Статический режим просто означает, что он содержит список инструкций/вызовов существующих функций (например, нарисуйте кучу строк, затем выйдите)

Активный режим использует вызовы setup() и draw() и работает непрерывно (обновляется каждый "кадр" ).

Даже если вы используете комментарии, вы определяете методы (cortToPolar, lawCos) внутри этих комментариев и обрабатываете встречные события, из-за которых вы получаете сообщение об ошибке.

С помощью вызова 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);
}

В режиме active вы можете управлять обновлением кадров с помощью noLoop() и loop() в сочетании с draw()

Ответ 2

Сообщение может быть показано, когда фактическая проблема является синтаксической ошибкой. Я столкнулся с этой ошибкой со следующим (глупым) кодом:

boolean state = false;

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

void draw() {
}

Отсутствует модификатор 'void' для функции настройки. Это синтаксическая ошибка (по крайней мере, это должно быть). Но Processing IDE предоставляет вам это "активное или статическое" сообщение.

Итак, в этом случае это должно быть void setup() { }, а не только setup() { }.