я не могу быть разрешен как переменная (Обработка) - PullRequest
0 голосов
/ 26 января 2020

Я пытаюсь создать список массивов для сетки tri angular при обработке, и он продолжает говорить, что 'Неожиданный токен: [' в первой строке, а также для intPrevX=[ ]

Это не правильно форма для записи массива? Это была та же самая строка, которая использовалась в ссылочном коде, и она, похоже, не работает на моем. Не уверен, как переписать это ..

Вторая проблема заключается в том, что для строки 42: for (i = 0; i < 20; i++){ написано, что я не могу разрешить переменную, и я не уверен, что означает это сообщение об ошибке. Похоже, я неправильно передал переменную ..

int x =[], y = [];
int prevX =[], prevY = [];

Boolean fade = true;

void setup()
{
    size( 450, 400 );
    background( 0 );
    stroke( 255 );

    x[0] = width/2;
    y[0] = height/2;

    prevX[0] = x[0];
    prevY[0] = y[0];

    prevX[1] = x[0];
    prevY[1] = y[0];

    stroke(255);
    strokeWeight( 2 );
    point( x[0], y[0] );
    scale(.01);

}

void draw()
{
    if (fade) {
     //   background(0);
        noStroke();
        fill( 0, 4 );
        rect( 0, 0, width, height );
    }

    for (i = 0; i < 20; i++){
    float angle = (TWO_PI / 6) * floor( random( 6 ));
    x[i+1] = x[i] + cos( angle ) * radius;
    y[i+1] = y[i] + sin( angle ) * radius;

    if ( x[i+1] < 0 || x[i+1] > width || x[i] > width) {
        x[i+1] = prevX[i];
        y[i+1] = prevY[i];
    }

    if ( y[i+1] < 0 || y[i+1] > height|| y[i] > height) {
        x[i+1] = prevX[i];
        y[i+1] = prevY[i];
    }

    stroke( 255, 64 );
    strokeWeight( 1 );
    line( x[i+1], y[i+1], prevX[i], prevY[i] );

    strokeWeight( 3 );
    point( x[i+1], y[i+1] );

    prevX[i+1] = x[i+1];
    prevY[i+1] = y[i+1];

     if (x[i+1] == x[i-2] && y[i+1] == y[i-2]) {
    fill(255);
    beginShape();

    for(int j = 0; j < 4; j++){
      vertex(x[i+j-2], y[i+j-2]);
    }
    endShape(CLOSE);


    }


   /* if(i >=1){
      prevX[0] = x[i+1];
      prevY[0] = x[i+1];

      angle = (TWO_PI / 6) * floor( random( 6 ));
      x[0] = x[i+1] + cos( angle ) * radius;
      y[0] = y[i+1] + sin( angle ) * radius;

      line( x[0], y[0], x[i+1], y[i+1] );
    }*/
    }

}

void keyPressed()
{
    if (key == 'f') {
        fade = !fade;
    }
}

1 Ответ

2 голосов
/ 26 января 2020

Правильный способ объявления массива в Java -

int[] x;   
int[] y = new int[size]; // if you already know the array size

и т. Д.

Проверьте это для получения подробной информации о том, как использовать массивы в Java: https://www.geeksforgeeks.org/arrays-in-java/

...