1

私はまだ処理に非常に慣れていないので、今は遊んでいます。マウスをクリックしたときに、背景色を 2 つの色、特に白と黒の間で変更する方法を知りたいと思っていました。背景色がいくつかの異なる色の間で変化するコードをオンラインで見つけましたが、bg の色を 2 つの色の間で変更する方法がわかりません。'col+=' と 'col%=' が何を表しているかを特に知りたいです。なぜなら、処理チュートリアルでそれを見つけることができないからです。私を助けてください!ありがとうございました!以下は私が見つけたコードです。

void setup() {
  size(600,400);
  smooth();
colorMode(HSB);

}

int col = 0;
void draw() {
  background(col,255,255);

}

void mousePressed(){
col+=20;
col%=255;
println(col);
}
4

1 に答える 1

2

「x += y」は「x = x + y」の省略形であり、同様に、「x %=y」は「x = x % y」の省略形です (% はモジュロ演算子です)。

「背景をある色から別の色に変更してから元に戻すにはどうすればよいですか」という質問があったと仮定します。これを行うには 2 つの基本的な方法があります。

1: 2 つ (またはそれ以上) の参照色、追加の「現在の」色を設定し、「現在」が指すものを変更して、それから背景を描画します。

color c1 = color(255,0,0), c2 = color(0,0,255), current;
void setup() { current = c1; }
void draw() { background(current); }
void mousePressed() { if(current==c1) { current = c2; } else { current = c1; }}

クリックするたびに、プログラムは「現在」の 2 つの色のどちらを指しているかをチェックし、代わりに他の色を指します。

2: 1 つの色を設定し、1 つ、または 2 つ、または ... ステップのモジュロ演算を適用します。

color c = color(255,0,0);
void draw() { background(c); }
void mousePressed() { c = color( red(c), (green(c)+50)%255, blue(c)); }

クリックするたびに、色「c」の緑の成分が 50 ずつ増加し、モジュロ補正されて 255 になります。つまり、0、50、100、150、200、250、300%255=45 と循環します。 、95、145、195、245、295%255=40、90など

于 2013-05-05T02:43:33.853 に答える