0

私は円を成長させ、blendMode(DIFFERENCE); で反転させようとしています。しかし、半径は変更されていません..

int radius = 15;
int radius2 = 15;

size(500, 500);

PGraphics pg = createGraphics(500, 500);
pg.beginDraw();
pg.background(255);
pg.blendMode(DIFFERENCE);
pg.fill(255);
pg.noStroke();
pg.ellipse(width/2, height/2, radius, radius);
pg.ellipse(width/2.25, height/2.25, radius2, radius2);
pg.ellipse(width/2.25, height/1.8, radius2, radius2);
pg.ellipse(width/1.8, height/2.25, radius2, radius2);
pg.ellipse(width/1.8, height/1.8, radius2, radius2);
radius++;
pg.endDraw();


background(255);
image(pg, 0, 0);
4

1 に答える 1

1

から: https://github.com/processing/processing/wiki/Troubleshooting

コードにメソッドがある場合 (静的モードだけではない)、または時間の経過とともに実行する必要がある場合は、draw() メソッドが必要です。そうしないと、何も起こりません。たとえば、draw() がないと、このコードは setup() メソッドの後で停止します。

それでおしまい。コードを draw() 関数でラップする必要があります。

ここに素敵な「ボタン」

int radius = 15;
int radius2 = 15;
PGraphics pg ;

void setup() {
  size(500, 500); 
  pg = createGraphics(500, 500);
}

void draw() {
  pg.beginDraw();
  pg.background(255);
  pg.blendMode(DIFFERENCE);
  pg.fill(255);
  pg.noStroke();
  pg.ellipse(width/2, height/2, radius, radius);
  pg.ellipse(width/2.25, height/2.25, radius2, radius2);
  pg.ellipse(width/2.25, height/1.8, radius2, radius2);
  pg.ellipse(width/1.8, height/2.25, radius2, radius2);
  pg.ellipse(width/1.8, height/1.8, radius2, radius2);
  radius++;
  pg.endDraw();


  background(255);
  image(pg, 0, 0);
}
于 2014-09-23T05:33:35.600 に答える