演習3(解答例1) float deg; // 色の輝度(0.0〜1.0)) int flag; // 1 or 0 void setup() { size( 400, 400 ); deg = 0.0; // 初期値は 0.0 flag = 0; } void draw() { background( 255 ); float c = deg*255; // 0.0〜1.0 --> 0〜255 に変換 fill(c,c,c); ellipse( 200, 200, 200, 200 ); if( flag==0 ){ // 黒色 --> 白色 の処理 deg += 0.005; // 色の輝度を少し増やす if( deg>=1.0 ){ // degが1以上の場合は flag = 1; } }else{ // 白色 --> 黒色 // の処理 deg -= 0.005; // 色の輝度を少し減らす if( deg<=0.0 ){ // degが0.0以下の場合は flag = 0; } } } 演習3(解答例2) float deg; // 色の輝度(0.0〜1.0)) float dir; // 1.0 or -1.0; void setup() { size( 400, 400 ); deg = 0.0; // 初期値は 0.0 dir = 1.0; } void draw() { background( 255 ); float c = deg*255; // 0.0〜1.0 --> 0〜255 に変換 fill(c,c,c); ellipse( 200, 200, 200, 200 ); deg += dir*0.005; if( deg>1.0 ){ dir = -1.0; } if( deg<0.0 ){ dir = 1.0; } }